在網(wǎng)上搜素關(guān)鍵字? 模擬表單提交? 有GET方式的?? POST方式的? 都行這是一個例子

創(chuàng)新互聯(lián)專注于城西網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供城西營銷型網(wǎng)站建設(shè),城西網(wǎng)站制作、城西網(wǎng)頁設(shè)計、城西網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造城西網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供城西網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
CURL
$ch?=?curl_init();
//組裝用戶名和密碼
//模擬提交兩個數(shù)據(jù)???可以不提交
$info['username']?=?$this-username;//用戶名
$info['password']?=?$this-pwd;//密碼
//模擬表單提交
$params[CURLOPT_URL]?=?$this-url;????//請求url地址
$params[CURLOPT_HEADER]?=?true;?//是否返回響應(yīng)頭信息
$params[CURLOPT_RETURNTRANSFER]?=?true;?//是否將結(jié)果返回
$params[CURLOPT_FOLLOWLOCATION]?=?true;?//是否重定向
$params[CURLOPT_USERAGENT]?=?'Mozilla/5.0?(Windows?NT?5.1;?rv:9.0.1)?Gecko/20100101?Firefox/9.0.1';//模擬瀏覽器
$postfields?=?'';
//將表單要提交的數(shù)據(jù)編程URL拼接方式
foreach?($info?as?$key?=?$value){
$postfields?.=?urlencode($key)?.?'='?.?urlencode($value)?.?'';
}
$params[CURLOPT_POST]?=?true;//POST方式???
$params[CURLOPT_POSTFIELDS]?=?$postfields;
curl_setopt_array($ch,?$params);?//傳入curl參數(shù)
$content?=?curl_exec($ch);?//執(zhí)行
看起來你的代碼正確,不知道你有什么問題。
這個方法不錯,但是最好用一個封裝好的類。
比如http_client之類的,網(wǎng)上這樣的類挺多了,你可以搜索一下。
當(dāng)然直接用socket也可以。
用PHP向服務(wù)器發(fā)送HTTP的POST請求,代碼如下:
?php
/**????
*?發(fā)送post請求????
*?@param?string?$url?請求地址????
*?@param?array?$post_data?post鍵值對數(shù)據(jù)????
*?@return?string????
*/????
function?send_post($url,?$post_data)?{????
$postdata?=?http_build_query($post_data);????
$options?=?array(????
'http'?=?array(????
'method'?=?'POST',????
'header'?=?'Content-type:application/x-www-form-urlencoded',????
'content'?=?$postdata,????
'timeout'?=?15?*?60?//?超時時間(單位:s)????
)????
);????
$context?=?stream_context_create($options);????
$result?=?file_get_contents($url,?false,?$context);?????????????
return?$result;????
}
使用的時候直接調(diào)用上面定義的send_post方法:
$post_data?=?array(
'username'?=?'username',
'password'?=?'password'
);
send_post('網(wǎng)址',?$post_data);
第一種實(shí)現(xiàn)方式:實(shí)用socket編程,通常我們實(shí)用fsockopen這個函數(shù)來創(chuàng)建一個socket連接,用fputs來發(fā)送一個請求
第二種實(shí)現(xiàn)方式:實(shí)用php的curl擴(kuò)展,我們使用curl_init()來初始化一個連接,然后設(shè)置一堆的curl_setopt()的東西來設(shè)置url,post的數(shù)據(jù)等等,最后我們使用curl_exec()來實(shí)現(xiàn)請求。
第三種方式就是: 實(shí)用file_get_contents函數(shù),其實(shí)我們平時抓取一個網(wǎng)頁可能只實(shí)用它的第一個參數(shù),其實(shí)它的第三個參數(shù)就有數(shù)據(jù)了
文章標(biāo)題:包含phphttp提交數(shù)據(jù)的詞條
標(biāo)題鏈接:http://chinadenli.net/article49/dsghohh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、云服務(wù)器、域名注冊、網(wǎng)站維護(hù)、商城網(wǎng)站、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)