當前位置:首頁 » 編程語言 » phpcurl模擬瀏覽器

phpcurl模擬瀏覽器

發布時間: 2022-05-27 03:48:51

Ⅰ 如何用php模擬瀏覽器post二進制數據到伺服器

CURL
$url = "http://localhost/web_services.php";

$post_data = array ("username" => "bob","key" => "12345");

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// post數據

curl_setopt($ch, CURLOPT_POST, 1);

// post的變數

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

$output = curl_exec($ch);

curl_close($ch);

//列印獲得的數據

print_r($output);

Ⅱ 怎麼用curl模擬游覽器UA[php]

具體怎麼寫,我一時寫不出來了,因為要實現對一站點頻繁的訪問, 怕被封IPfunction curl_string ($url,$timeout = 3,$proxy=1){ $ua = array(

Ⅲ PHP curl模擬POST問題,為什麼明明是模擬的是POST,firebug仍顯示GET

firebug查看的是你通過瀏覽器發出的請求, curl是php做的,它是看不到的
你就把curl當成一個瀏覽器就行了

你可以在curl的接收端列印$_SERVER['REQUEST_METHOD']
或者用fidder抓包工具看下就看到了

Ⅳ 請教php curl模擬get請求與直接在瀏覽器訪問網址有什麼區別

curl方式你可以認為是服務端的ajax請求,服務端可以獲取curl的結果,然後處理自己的業務,至於直接在瀏覽器訪問,就不用說了,直接顯示出請求的結果

Ⅳ php+curl 怎麼模擬cookie信息進行網頁抓取 在線等

$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, '文件名'); // 將該次請求完成後 cookie信息保存到文件
curl_setopt($ch, CURLOPT_COOKIEFILE, '文件名'); // 這次請求過程中 用到的cookie信息 的文件

模擬cookie 你可以先curl一次那頁面 獲取到cookie之後 , 留待下次 用CURLOPT_COOKIEFILE 發送該段cookie 進行模擬

Ⅵ php中什麼是curl會話是用來做什麼的有什麼作用

curl 就是模擬瀏覽器請求的,比如獲取獲取遠程的網頁,雖然可以使用file_get_content函數 但是 curl支持cookie 自定義瀏覽器類型,來源 ip等等。

Ⅶ 哪位達人會用PHP的curl模擬登陸百度

模擬瀏覽器登陸應用開發,最關鍵的地方是突破登陸驗證。CURL技術不只支持http,還支持https。區別就在多了一層SSL加密傳輸。如果是要登陸https網站,php記得要支持openssl。還是先拿一個例子來分析。

//用戶名
$login = 'username';
//密碼
$password = 'password';

//163的用戶登陸地址
$url = "https://reg.163.com/logins.jsp";

//post 要提交的數據
$fields = "verifycookie=1&style=16&proct=mail163&username=".$login."&password=".$password."&selType=jy&remUser=&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詳解 http://www.21andy.com/blog/20080507/1095.html
Tags: curl,模擬登陸wuzuquan 2008/07/18 09:40您好,我現在在做一個模擬yahoo登陸的php程序,因為yahoo的密碼是經過javascript加密的,而且在加密過程中引用了一個網頁隨機生成的字元串challenge,這個字元串在每次訪問網頁的時候都不一樣。
如果我採用curl來模擬登陸,過程如下:
先curl_init()初始化一個curl連接,設置相關選項後,curl_exec();然後利用採集功能得到challenge的值,經過加密計算出加密後的密碼。再來一次curl_exec,將用戶名,加密密碼等post出去。
可是這樣做採集到的challenge永遠都是過時的,這該怎麼解決呢?
希望不吝賜教,我的郵箱是[email protected]

Ⅷ 我用PHP CURL 模擬訪問為什麼統計不到

你所說的「其中一個人關閉了網站」是一個很明顯的錯誤,網站的來訪者所關閉的不是「網站」,只是他自己的瀏覽器。
從 Web 服務的機制上來說,伺服器只是接收到對某個網頁的請求後把相應的 HTML 格式的內容(可能包括 JavaScript程序)發送給請求者以後就關閉連接,至於瀏覽器端的用戶是什麼時候關閉瀏覽器(或者說是轉移去查看別的網站的網頁去了)伺服器端是得不到任何信息的。
PHP、ASP、JSP 之類的網頁訪問只是伺服器在發送 HTML 格式的內容之前需要先執行一下相應的文件里的程序,得到 HTML 格式的內容之後再發送而已,原理上還是發送完就關閉與請求者的連接。
伺服器能得到的信息是接收來訪者發來的網頁請求信息的時候隨同而來的IP地址,至於這個IP地址對應的用戶什麼時候跳轉去看別的網站的網頁去了伺服器得不到任何信息。在你的 PHP 程序中,可以把得到一個來訪者的IP地址的時候就給作為一個累加器用的跨網頁文件跨不同來訪者共享的變數添加1,20分鍾之內沒再接收到那個IP地址發來的請求就將累加器減1,這樣,你把那個累加器內容顯示出來就能反映你的網站在最近20分鍾內有多少個IP來訪問過,這個數就近似地反映了你的網站「在線人數」。

Ⅸ php如何模擬瀏覽器行為

// 用戶名
$login = 『username』;
//密碼
$password = 『password』;
//163的用戶登陸地址
$url = 「https://reg.163.com/logins.jsp」;
//post 要提交的數據
$fields = 「verifycookie=1&style=16&proct=mail163&username=」.$login.」&password=」.$password.」&selType=jy&remUser=&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:
「;
echo curl_errno($ch) . 」 – 」 . curl_error($ch) . 」
「;
}
// 關閉CURL會話
curl_close($ch);
上面這個例子相對簡單,因為用戶名和密碼可以明文傳輸,而且登陸也不需要驗證碼。qq.com的模擬登陸相對就麻煩多了,首先要突破驗證碼這關,然後由於 QQ密碼是經過javascript加密後傳輸的,登陸界面也要模擬出來,下一篇文章再繼續深入談談QQ的模擬登陸。

Ⅹ PHP中的curl模擬登陸中的$url登錄界面地址與處理登錄邏輯的地址有什麼區別

要模擬瀏覽器訪問網站,首選要學會觀察瀏覽器是如何發送http報文的,以及網站伺服器返回給瀏覽器 是什麼樣的內容。我推薦安裝一個國外人開發的httpwatch的軟體,最好搞個破解的版本,否則有些功能是使用不了的。這個軟體安裝完成之後是嵌入在 IE里的,啟動Record,在地址欄輸入網址後回車,它就會將瀏覽器和伺服器之間的所有通訊掃描出來,讓你一覽無遺。關於這個軟體的使用在本文不做介 紹。
模擬瀏覽器登陸應用開發,最關鍵的地方是突破登陸驗證。CURL技術不只支持http,還支持https。區別就在多了一層SSL加密傳輸。如果是要登陸 https網站,php記得要支持openssl。還是先拿一個例子來分析。

熱點內容
銳志哪個配置性價比最高 發布:2025-02-12 17:38:43 瀏覽:918
智能推送演算法 發布:2025-02-12 17:38:41 瀏覽:834
拍照上傳器 發布:2025-02-12 17:34:29 瀏覽:651
androidweb框架 發布:2025-02-12 17:32:45 瀏覽:75
安卓編程賀卡 發布:2025-02-12 17:32:44 瀏覽:838
php獲取資料庫的欄位 發布:2025-02-12 17:29:02 瀏覽:766
伺服器地址消失 發布:2025-02-12 17:23:36 瀏覽:951
後台執行php腳本 發布:2025-02-12 17:21:45 瀏覽:471
spring編程式事務 發布:2025-02-12 17:16:55 瀏覽:398
nginx禁止ip訪問 發布:2025-02-12 17:15:14 瀏覽:273