首頁 後端開發 php教程 CURL有关问题

CURL有关问题

Jun 13, 2016 am 10:52 AM
cookie curl quot

CURL问题
问什么下面这段代码得不到正确的cookie?

$url = "http://www.edai365.cn/Index/login.aspx";
$useragent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; TheWorld)";
$cookie = "cnzz_eid=43361819-1349499907-&ntime=1349499907&cnzz_a=1&retime=1349499930944&sin=none<ime=1349499930944&rtime=0";
$ch= curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_REFERER, "http://www.edai365.cn/Index/login.aspx");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, $useragent);
curl_exec($ch);
$tempCn = curl_multi_getcontent($ch);
curl_close($ch);
echo $tempCn;


------解决方案--------------------
$cookie_jar="";
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
指定一个cookie的保存地址;
用的时候
加上curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar);

不知道符不符合你的要求
------解决方案--------------------
不知道你想干什么
http://www.edai365.cn/Index/login.aspx 是登陆页面,核心是一个表单
如果你是想模拟登陆,至少也需要模拟提交的表单数据
------解决方案--------------------
我測試了一下,可以抓取到成功登录的信息,至于为何进入登陆页面我也没有研究明白.

PHP code
// 模拟请求数据Function request($url,$postfields,$referer='',$cookie_jar='./cookie.txt'){    $Cur = curl_init();    $Opt = Array(        CURLOPT_URL => $url,        CURLOPT_HEADER => 1,        CURLOPT_NOBODY => 1,        CURLOPT_PORT => 80,    //端口        CURLOPT_POST => 1,    //发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。        CURLOPT_POSTFIELDS => $postfields,//要传送的所有数据,如果要传送一个文件,[email protected]        CURLOPT_RETURNTRANSFER => 1,// 获取的信息以文件流的形式返回,而不是直接输出。        CURLOPT_SSL_VERIFYHOST => 1,// 从证书中检查SSL加密算法是否存在        CURLOPT_SSL_VERIFYPEER => 0,// 对认证证书来源的检查,0表示阻止对证书的合法性的检查。        CURLOPT_COOKIE => GetCook($url),        CURLOPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)",//模拟用户使用的浏览器,在HTTP请求中包含一个"user-agent"头的字符串。        //CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1',        CURLOPT_FOLLOWLOCATION => 0,        CURLOPT_COOKIEJAR => Dirname(__FILE__).$cookie_jar,        CURLOPT_COOKIEFILE => Dirname(__FILE__).$cookie_jar,        CURLOPT_REFERER => $referer,    );    curl_setopt_array($Cur,$Opt);    $code = curl_exec($Cur);    curl_close($Cur);    Unset($Cur);    Return $code;}Function GetCook($url) {    $Curl=curl_init($url);    curl_setopt($Curl,CURLOPT_HEADER,1);    curl_setopt($Curl,CURLOPT_RETURNTRANSFER,1);    $Cook=curl_exec($Curl);    curl_close($Curl);    $Out='';    preg_match("/_SessionId\=(.[^;]*)/i",$Cook,$Out);    Return $Out[1];}$url = "http://www.edai365.cn/Index/login.aspx";$postfields='txt_nickname=baluwu&txt_pwd=000000&ddlcookietime='.UrlEncode('一周').'&ibt_login=';$a=request($url,$postfields);unset($postfields,$url);Echo "<textarea style="width:100%;height:200px">",Chr(10),$a,Chr(10),"</textarea>";Die();<br><font color="#e78608">------解决方案--------------------</font><br>http://www.21andy.com/blog/20080507/1095.html<br>看下,或许有帮助<br><font color="#e78608">------解决方案--------------------</font><br>解决这种问题最好的办法就是截包,看看正常的包和curl通信的包有什么不同就知道了<div class="clear">
                 
              
              
        
            </div>
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1669
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1273
29
C# 教程
1256
24
PHP8.1發布:引入curl多個請求並發處理 PHP8.1發布:引入curl多個請求並發處理 Jul 08, 2023 pm 09:13 PM

PHP8.1發布:引入curl多個請求並發處理近日,PHP官方發布了最新版本的PHP8.1,其中引入了一個重要的特性:curl多個請求並發處理。這個新功能為開發者提供了一個更有效率和靈活的方式來處理多個HTTP請求,大大提升了效能和使用者體驗。在以往的版本中,處理多個請求往往需要透過建立多個curl資源,並使用循環來分別發送和接收資料。這種方式雖然能夠實現目

從頭到尾:如何使用php擴充cURL進行HTTP請求 從頭到尾:如何使用php擴充cURL進行HTTP請求 Jul 29, 2023 pm 05:07 PM

從頭到尾:如何使用php擴充cURL進行HTTP請求引言:在Web開發中,經常需要與第三方API或其他遠端伺服器進行通訊。而使用cURL進行HTTP請求是一種常見且強大的方式。本文將介紹如何使用php擴充cURL來執行HTTP請求,並提供一些實用的程式碼範例。一、準備工作首先,請確保php已安裝cURL擴充。可以在命令列執行php-m|grepcurl查

Linux下更新curl版本教程! Linux下更新curl版本教程! Mar 07, 2024 am 08:30 AM

在Linux下更新curl版本,您可以按照以下步驟進行操作:檢查目前curl版本:首先,您需要確定目前系統中安裝的curl版本。開啟終端,並執行以下指令:curl--version該指令將顯示目前curl的版本資訊。確認可用的curl版本:在更新curl之前,您需要確定可用的最新版本。您可以造訪curl的官方網站(curl.haxx.se)或相關的軟體來源,尋找最新版本的curl。下載curl原始碼:使用curl或瀏覽器,下載您選擇的curl版本的原始碼檔案(通常為.tar.gz或.tar.bz2

cookie存在哪裡 cookie存在哪裡 Dec 20, 2023 pm 03:07 PM

Cookie通常儲存在瀏覽器的Cookie資料夾中的,瀏覽器中的Cookie檔案通常以二進位或SQLite格式存儲,如果直接開啟Cookie文件,可能會看到一些亂碼或無法讀取的內容,因此最好使用瀏覽器提供的Cookie管理介面來檢視和管理Cookie。

電腦上的cookie在哪裡 電腦上的cookie在哪裡 Dec 22, 2023 pm 03:46 PM

電腦上的Cookie儲存在瀏覽器的特定位置,具體位置取決於使用的​​瀏覽器和作業系統:1、Google Chrome, 儲存在C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies中等等。

PHP Curl中如何處理網頁的 301 重定向? PHP Curl中如何處理網頁的 301 重定向? Mar 08, 2024 am 11:36 AM

PHPCurl中如何處理網頁的301重定向?使用PHPCurl發送網路請求時,常會遇到網頁回傳的301狀態碼,表示頁面被永久重定向。為了正確處理這種情況,我們需要在Curl請求中加入一些特定的選項和處理邏輯。以下將詳細介紹在PHPCurl中如何處理網頁的301重定向,並提供具體的程式碼範例。 301重定向處理原理301重定向是指伺服器回傳了一個30

手機cookie在哪裡 手機cookie在哪裡 Dec 22, 2023 pm 03:40 PM

手機上的Cookie儲存在行動裝置的瀏覽器應用程式中:1、在iOS裝置上,Cookie儲存在Safari瀏覽器的Settings -> Safari -> Advanced -> Website Data中;2、在Android裝置上,Cookie儲存在Chrome瀏覽器的Settings -> Site settings -> Cookies中等等。

Cookie工作原理是什麼 Cookie工作原理是什麼 Sep 20, 2023 pm 05:57 PM

Cookie運作方式涉及到伺服器發送Cookie、瀏覽器儲存Cookie以及瀏覽器對Cookie的處理和儲存。詳細介紹:1、伺服器發送Cookie,伺服器會傳送一個包含Cookie的HTTP回應標頭給瀏覽器。這個Cookie包含了一些訊息,例如使用者的身份認證、偏好設定或購物車內容等,瀏覽器接收到這個Cookie後,會將它儲存在使用者的電腦上;2、瀏覽器儲存Cookie等等。

See all articles