php模擬post提交數(shù)據(jù)的方法
本文實(shí)例講述了php模擬post提交數(shù)據(jù)的方法。分享給大家供大家參考。具體如下:
php模擬post提交數(shù)據(jù),用處很多,可用來(lái)網(wǎng)站的采集,登陸等等
這里以我項(xiàng)目中的論壇登錄為例加以說(shuō)明:
//需要提交的post數(shù)據(jù)
$argv = array(
'cookie' => array('user_login' =>$user_login, 'password' => $password,'_wp_http_referer'=>'/bbpress/','re'=>'','remember'=>true)
);
foreach($argv['cookie'] as $key => $value) {
$params[] = $key . '=' . $value;
}
$params = implode('&', $params);
$header = "POST /bbpress/bb-login.php HTTP/1.1\r\n";
$header .= "Host:$host:$port\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($params) . "\r\n";
$header .= "Connection: Close\r\n\r\n";
$header .= $params;
$fp = fsockopen($host, $port);
fputs($fp, $header);
while(!feof($fp)) {
$str = fgets($fp); //以下是自己的邏輯代碼,這里主要是模擬cookie,可用來(lái)同步登陸
if(!(strpos($str,"Set-Cookie:") === false)){
$tmparray = explode(" ",$str);
$cookiearray = explode("=",$tmparray[1]);
$cookiepaths = explode("=",$tmparray[6]);
$cookiename = urldecode($cookiearray[0]);
$cookievalue = urldecode(substr($cookiearray[1],0,strlen($cookiearray[1])-1));
$cookietime = time()+3600*24*7;
$cookiepath = urldecode(substr($cookiepaths[1],0,strlen($cookiepaths[1])-1));
setcookie($cookiename,$cookievalue,$cookietime,$cookiepath);
}
}
fclose($fp);
}
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
- PHP基于curl模擬post提交json數(shù)據(jù)示例
- php使用CURL模擬GET與POST向微信接口提交及獲取數(shù)據(jù)的方法
- PHP socket 模擬POST 請(qǐng)求實(shí)例代碼
- php模擬post上傳圖片實(shí)現(xiàn)代碼
- PHP模擬post提交數(shù)據(jù)方法匯總
- 利用PHP fsockopen 模擬POST/GET傳送數(shù)據(jù)的方法
- php實(shí)現(xiàn)模擬post請(qǐng)求用法實(shí)例
- php curl模擬post提交數(shù)據(jù)示例
- php curl模擬post請(qǐng)求小實(shí)例
- php模擬post提交請(qǐng)求調(diào)用接口示例解析
相關(guān)文章
php安全配置記錄和常見(jiàn)錯(cuò)誤梳理(總結(jié))
下面小編就為大家?guī)?lái)一篇php安全配置記錄和常見(jiàn)錯(cuò)誤梳理(總結(jié))。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
php在window iis的莫名問(wèn)題的測(cè)試方法
其實(shí)很簡(jiǎn)單,就一句話(huà),見(jiàn)招拆招,通過(guò)c:\php\php.exe -i 命令實(shí)現(xiàn)2013-05-05
PHP異步調(diào)用socket實(shí)現(xiàn)代碼
瀏覽器和服務(wù)器之間只一種面向無(wú)連接的HTTP協(xié)議進(jìn)行通訊的,面向無(wú)連接的程序的特點(diǎn)是客戶(hù)端請(qǐng)求服務(wù)端,服務(wù)端根據(jù)請(qǐng)求輸出相應(yīng)的程序,不能保持持久連接2012-01-01
PHP版 漢字轉(zhuǎn)碼的實(shí)現(xiàn)詳解
本篇文章是對(duì)用php實(shí)現(xiàn)漢字轉(zhuǎn)碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php流量統(tǒng)計(jì)功能的實(shí)現(xiàn)代碼
用php實(shí)現(xiàn)的流量統(tǒng)計(jì)功能代碼,本代碼僅供學(xué)習(xí)交流,其中必有不妥之處。請(qǐng)見(jiàn)諒2012-09-09
Apache下禁止php文件被直接訪(fǎng)問(wèn)的解決方案
想在重寫(xiě)規(guī)則里直接禁止php后綴的URL被訪(fǎng)問(wèn)。但后來(lái)發(fā)現(xiàn)重寫(xiě)規(guī)則是遞歸調(diào)用的,如果在重寫(xiě)規(guī)則里直接禁止php,那么重寫(xiě)到php文件的規(guī)則也會(huì)失效,于是有了下面的方法2013-04-04
讓Nginx支持ThinkPHP的URL重寫(xiě)和PATHINFO的方法分享
ThinkPHP支持通過(guò)PATHINFO和URL rewrite的方式來(lái)提供友好的URL,只需要在配置文件中設(shè)置 'URL_MODEL' => 2 即可。在Apache下只需要開(kāi)啟mod_rewrite模塊就可以正常訪(fǎng)問(wèn)了,但是Nginx中默認(rèn)是不支持PATHINFO的,所以我們需要修改nginx.conf文件。2011-08-08
[PHP]經(jīng)常用到的實(shí)用函數(shù)集合
[PHP]經(jīng)常用到的實(shí)用函數(shù)集合...2007-11-11
php獲取服務(wù)器操作系統(tǒng)相關(guān)信息的方法
這篇文章主要介紹了php獲取服務(wù)器操作系統(tǒng)相關(guān)信息的方法,涉及php針對(duì)服務(wù)器端預(yù)定義變量及系統(tǒng)函數(shù)的使用技巧,需要的朋友可以參考下2016-10-10

