[英]Unable to set Cookie in curl Request
我已經為此網站創建了一個注冊腳本。 我知道在注冊時有驗證碼,但是那不是問題,當我運行它時,顯示“您的會話已過期”似乎是我有一些cookie問題。 我嘗試了tempcookie,但仍然保持不變。.我不了解問題所在。 如果顯示“無效的驗證碼”或類似的內容,則可以。 但顯示Cookie問題。
這是代碼。
//$cn = str_replace(".","",$_SERVER['REMOTE_ADDR']);
//$finalcookie = "coki/".$cn.".txt";
$finalcookie = tempnam("/tmp", "CURLCOOKIE");
$url="http://www.ypox.com";
$login="$url/content/login.html";
$signup="$url/content/signup.action";
$agent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $login);
curl_setopt($ch, CURLOPT_COOKIEJAR, $finalcookie);
curl_setopt($ch,CURLOPT_ENCODING,"gzip,deflate");
curl_setopt ($ch, CURLOPT_HTTPHEADER, Array("Content-Type: application/x-www-form-urlencoded","Accept: */*"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, $login);
$html=curl_exec($ch);
//echo $html;
//echo '<img src=captcha.php><br>';
$name="Rahul";
$email="rahul12345@gmail.com";
$mobile="8798147385";
$cap="captcha";
$data="hidGen=Mr&tfUserName=$name&tfMobileNum=$mobile&tfUserID=$email&date1=10%2F10%2F1980&tfReferCode=&textcode=$cap&checkaccept=on";
curl_setopt($ch, CURLOPT_URL, $signup);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_COOKIEJAR,$finalcookie);
curl_setopt($ch, CURLOPT_COOKIEFILE,$finalcookie);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_REFERER, $login);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html=curl_exec($ch);
echo $html;
您可以使用詳細輸出來比較發送的curl和預期發送的curl。 可能沒有發送Cookie。 打開文件寫入流$ fp,然后將所有發送和接收內容的全文打印到該文件。
/* in your setup */
$fp = fopen ( 'somefile.txt', 'w' );
/* then later in your code, only once in first group */
curl_setopt ( $ch, CURLOPT_VERBOSE, true );
curl_setopt ( $ch, CURLOPT_STDERR, $fp );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.