本文目錄一覽:
php httpclient怎麼測試
操作步驟:
1. 打開自帶應用『終端』,使用』cd』命令進入該目錄;
2. 輸入 php VipMobilePush.php,運行該php文件
示例:
cd /Users/muzihuowei/Desktop/VipMobilePush
php VipMobilePush.php
php httpclient 超時怎麼辦
//HttpClient功能很強大,可以和snoopy一樣實行模擬數據提交等操作
使用靜態方法quikGet(ur)或者quickPost(url)無法做到設置超時時間,所以做了如下修改,通過下面的方法可以實現
//設置時間超時
$bits = parse_url($main_url);
$host = $bits[‘host’];
$port = isset($bits[‘port’]) ? $bits[‘port’] : 80;
$path = isset($bits[‘path’]) ? $bits[‘path’] : ‘/’;
if (isset($bits[‘query’])) {
echo $path .= ‘?’.$bits[‘query’];
}
// $client = new HttpClient($main_url);
//$client-setDebug(false);
$client = new HttpClient($host, $port);
$client -timeout =10;
if (!$client-get($path)) {
return false;
} else {
$pageContents = $client-getContent();
}
//
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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/229126.html