2017-03-19 132 views
0

我是法國人,我需要一些幫助。 所以我想用cURL庫創建一個php腳本,這個腳本的目標是在網站的商店中添加一個文章在籃子裏,但是當我添加文章的時候,當我付錢時腳本失敗了會話。我試圖保存餅乾,但這不起作用!我不明白!能否請你回答我,如果你對我怎麼能讓它工作的任何想法 我的代碼是捲曲和餅乾php

<?php 

    function login($url,$data){ 
    $fp = fopen("cookie.txt", "w"); 
    fclose($fp); 
    $login = curl_init(); 
    curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt"); 
    //curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt"); 
    curl_setopt($login, CURLOPT_TIMEOUT, 40000); 
    curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE); 
    curl_setopt($login, CURLOPT_URL, $url); 
    curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
    curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE); 
    curl_setopt($login, CURLOPT_POST, TRUE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($login, CURLOPT_POSTFIELDS, $data); 
    ob_start(); 
    return curl_exec ($login); 
    ob_end_clean(); 
    curl_close ($login); 
    unset($login);  
}     
function grab_page($site){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 40); 
    curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); 
    curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_URL, $site); 
    ob_start(); 
    return curl_exec ($ch); 
    ob_end_clean(); 
    curl_close ($ch); 
} 


login('link','data to add in basket'); 
echo grab_page(the basket); 
?> 
+0

我已經寫了這個[包裝](https://packagist.org/packages/ w3zone/crawler),我認爲它會幫助你處理你的請求。 – hassan

+0

我不明白它是如何工作的? –

回答

0

你混合捲曲處理,

在您的登錄功能

您使用$ch處理器

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
//   ^^^ 

這是必須$login

curl_setopt($login, CURLOPT_SSL_VERIFYPEER, FALSE); 

一樣的,你grab_page功能使用的是$login

curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE); 
//   ^^^^^^ 

它必須是:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
+0

我做了更改,但不起作用 –