簡體   English   中英

運行curl_multi_init()並重用cookie

[英]Run curl_multi_init() and reuse the cookie

您好我想使用curl_multi_init(),首先登錄網站並獲取該cookie,然后在下一個站點使用它,仍然使用curl_multi_init()。

我一直在谷歌上搜索一下,嘗試了很多不同的東西。 我現在有了這個代碼,但它不是第二次使用cookie。

curl_setopt($login, CURLOPT_HEADER, 0);
curl_setopt($login, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1284.0 Safari/537.13"); 
curl_setopt($login, CURLOPT_TIMEOUT, 60); 
curl_setopt($login, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($login, CURLOPT_COOKIEJAR, $cookieFile); 
curl_setopt($login, CURLOPT_COOKIEFILE, $cookieFile); 
curl_setopt($login, CURLOPT_REFERER, $loginURL); 
curl_setopt ($login, CURLOPT_POSTFIELDS, $postData); 
curl_setopt ($login, CURLOPT_POST, 1); 



curl_setopt($getByDate, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($getByDate, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1284.0 Safari/537.13"); 
curl_setopt($getByDate, CURLOPT_TIMEOUT, 60); 
curl_setopt($getByDate, CURLOPT_FOLLOWLOCATION, 0); 
curl_setopt($getByDate, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($getByDate, CURLOPT_BINARYTRANSFER, true);
curl_setopt($getByDate, CURLOPT_COOKIEJAR, $cookieFile); 
curl_setopt($getByDate, CURLOPT_COOKIEFILE, $cookieFile); 
curl_setopt($getByDate, CURLOPT_REFERER, "https://www.elevplan.dk/Moduler/Elevforside/Elevforside.aspx"); 


//create the multiple cURL handle
$mh = curl_multi_init();

//add the two handles
curl_multi_add_handle($mh,$login);
curl_multi_add_handle($mh,$getByDate);

$running = null;
    do {
        curl_multi_exec($mh, $running);
    } while ($running);

您必須使用同步請求,因為您希望按特定順序執行請求。 cURL multi導致它同時下載兩個頁面(或第二個請求在第一個請求之前完成)。 第二個請求必須在第一個請求完成后執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM