本文目錄一覽:
PHP模擬百度用戶登陸
不明白你的意思。
你是自己要做一個類似百度知道的網站嗎?
你是想寫一個程序欄位發送數據到百度知道嗎?
補充:
我不明白你把什麼欄位發送到百度,猜測你是不是想自動發帖、批量提問。
如果想批量發帖,用PHP來做難度很大,當然也不是不可能,就是要自己使用網路TCP連接WEB伺服器,來實現數據的交換,並處理COOKIE,相當於編寫了一個瀏覽器。不過你很幸運的是,百度登錄不需要驗證碼,否則自動識別登錄的驗證碼還是一個非常艱巨的課題。
我建議,你最後不要用PHP,而是用DELPHI等軟體,通過給瀏覽器發送消息(POSTMESSAGE)來達到控制瀏覽器,實現自動登錄、自動發貼、自動刷網頁等功能。
我想用PHP curl模擬登陸百度!求指導
cookie是在header中傳輸的,你不開header,cookie如何發送呢?
curl_setopt($ch, CURLOPT_HEADER, 0); //這個改為1
另外,百度有那麼好登錄嗎?你應該把header寫全,包括User-Agent在內的各種報頭。
PHP怎麼用httpclient.class來模擬登陸百度
模擬瀏覽器登陸應用開發,最關鍵的地方是突破登陸驗證。CURL技術不只支持http,還支持https。區別就在多了一層SSL加密傳輸。如果是要登陸https網站,php記得要支持openssl。還是先拿一個例子來分析。
//用戶名
$login = ‘username’;
//密碼
$password = ‘password’;
//163的用戶登陸地址
$url = “”;
//post 要提交的數據
$fields = “verifycookie=1style=16product=mail163username=”.$login.”password=”.$password.”selType=jyremUser=secure=on%B5%C7%C2%BC%D3%CA%CF%E4=%B5%C7%C2%BC%D3%CA%CF%E4″;
//用來存放cookie的文件
$cookie_file = dirname(__FILE__).”/cookie.txt”;
//啟動一個CURL會話
$ch = curl_init();
// 要訪問的地址
curl_setopt($ch, CURLOPT_URL, $url);
// 對認證證書來源的檢查,0表示阻止對證書的合法性的檢查。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// 從證書中檢查SSL加密演算法是否存在
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
//模擬用戶使用的瀏覽器,在HTTP請求中包含一個」user-agent」頭的字元串。
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”);
//發送一個常規的POST請求,類型為:application/x-www-form-urlencoded,就像表單提交的一樣。
curl_setopt($ch, CURLOPT_POST, 1);
//要傳送的所有數據,如果要傳送一個文件,需要一個@開頭的文件名
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
//連接關閉以後,存放cookie信息的文件名稱
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
// 包含cookie信息的文件名稱,這個cookie文件可以是Netscape格式或者HTTP風格的header信息。
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
// 設置curl允許執行的最長秒數
//curl_setopt($ch, CURLOPT_TIMEOUT, 6);
// 獲取的信息以文件流的形式返回,而不是直接輸出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// 執行操作
$result = curl_exec($ch);
if ($result == NULL) {
echo “Error:br”;
echo curl_errno($ch) . ” – ” . curl_error($ch) . “br”;
}
// 關閉CURL會話
curl_close($ch);上 面這個例子相對簡單,因為用戶名和密碼可以明文傳輸,而且登陸也不需要驗證碼。qq.com的模擬登陸相對就麻煩多了,首先要突破驗證碼這關,然後由於 QQ密碼是經過javascript加密後傳輸的,登陸界面也要模擬出來,下一篇文章再繼續深入談談QQ的模擬登陸。
參考資料:
CURL詳解
Tags: curl,模擬登陸wuzuquan 2008/07/18 09:40您好,我現在在做一個模擬yahoo登陸的php程序,因為yahoo的密碼是經過javascript加密的,而且在加密過程中引用了一個網頁隨機生成的字元串challenge,這個字元串在每次訪問網頁的時候都不一樣。
如果我採用curl來模擬登陸,過程如下:
先curl_init()初始化一個curl連接,設置相關選項後,curl_exec();然後利用採集功能得到challenge的值,經過加密計算出加密後的密碼。再來一次curl_exec,將用戶名,加密密碼等post出去。
可是這樣做採集到的challenge永遠都是過時的,這該怎麼解決呢?
希望不吝賜教,我的郵箱是wzqwu@yahoo.com.cn
怎麼用php模擬登陸
php 模擬登陸,可以使用 curl,以下是示例代碼:
$post = “name=2userType=1passwd=asdfloginType=1rand=6836imageField.x=25imageField.y=7”;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “http://網址/login.action”);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
$result=curl_exec($ch);
curl_close($ch);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/279109.html