php curl模擬post請求提交資料

2022-03-10 15:37:21 字數 2250 閱讀 9719

最近在做校園圖書館圖書資訊的採集程式,既然是圖書館圖書的採集,肯定有提交搜尋的頁面,無非是post提交,讓我想到了curl模擬提交,首先通過firebug進行抓包查詢下post提交後的格式如下:

txtwxlx=cn&hidwxlx=spancnlx&txtpy=hz&txttm=%d2%f4%c0%d6&txtlx=%25&txtsearchtype=1&nmaxcount=100&nsetpagesize=10&csortfld=%d5%fd%cc%e2%c3%fb&b1=%bc%ec+%cb%f7;搜尋的關鍵字name=txttm,隨後**如下:

<?php 

$keyword="**";

$post="txtwxlx=cn&hidwxlx=spancnlx&txtpy=hz&txttm=&txtlx=%25&txtsearchtype=1&nmaxcount=100&nsetpagesize=20&csortfld=%d5%fd%cc%e2%c3%fb&b1=%bc%ec+%cb%f7";

$url = "";

//查詢位址

$ch =curl_init();

curl_setopt (

$ch, curlopt_referer, " "); //

模擬**

curl_setopt($ch, curlopt_url, $url);//

url

curl_setopt($ch,curlopt_followlocation,1);

curl_setopt(

$ch, curlopt_header, false

);curl_setopt(

$ch, curlopt_post, 1); //

模擬post

curl_setopt($ch, curlopt_postfields, $post);//

post內容

$keyword="世界";

$keyword = iconv('utf-8', 'gb2312', $keyword

);$keyword = urlencode($keyword

);$post="txtwxlx=cn&hidwxlx=spancnlx&txtpy=hz&txttm=&txtlx=%25&txtsearchtype=1&nmaxcount=100&nsetpagesize=20&csortfld=%d5%fd%cc%e2%c3%fb&b1=%bc%ec+%cb%f7";

$url = "";

//查詢位址

$ch =curl_init();

curl_setopt (

$ch, curlopt_referer, " "); //

模擬**

curl_setopt($ch, curlopt_url, $url);//

url

curl_setopt($ch,curlopt_followlocation,1);

curl_setopt(

$ch, curlopt_header, false

);curl_setopt(

$ch, curlopt_post, 1); //

模擬post

curl_setopt($ch, curlopt_postfields, $post);//

post內容

curl_exec($ch

);

$output = curl_close($ch

); echo

$output

; ?>

不出所料,正常顯示了,隨後就是頁面內容的採集排版問題了。無非是正則了。(由於是校園網只能我們內網訪問)

php curl模擬post請求提交資料

摘要 最近在做校園圖書館圖書資訊的採集程式,既然是圖書館圖書的採集,肯定有提交搜尋的頁面,無非是post提交,讓我想到了curl模擬提交,首先通過firebug進行抓包查詢下post提交後的格式如下 txtwxlx cn hidwxlx spancnlx 最近在做校園圖書館圖書資訊的採集程式,既然是...

php curl 傳送post請求

php curl init函式 resource curl init string url null 初始化乙個新的會話,返回乙個curl控制代碼,供curl setopt curl exec 和curl close 函式使用 boolcurl setopt resource ch int opti...

PHP curl 模擬http https請求

模擬使用者瀏覽器post public static function vpost url,data curl curl init 啟動乙個curl會話 curl setopt curl,curlopt url,url 要訪問的位址 curl setopt curl,curlopt ssl veri...