php 模擬POST提交的2種方法詳解
一、通過(guò)curl函數(shù)
$post_data = array();
$post_data['clientname'] = "test08";
$post_data['clientpasswd'] = "test08";
$post_data['submit'] = "submit";
$url='http://xxx.xxx.xxx.xx/xx/xxx/top.php';
$o="";
foreach ($post_data as $k=>$v)
{
$o.= "$k=".urlencode($v)."&";
}
$post_data=substr($o,0,-1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
//為了支持cookie
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = curl_exec($ch);
二、通過(guò)fsockopen
$URL=‘http://xxx.xxx.xxx.xx/xx/xxx/top.php';
$post_data['clientname'] = "test08";
$post_data['clientpasswd'] = "test08";
$post_data['submit'] = "ログイン";
$referrer="";
// parsing the given URL
$URL_Info=parse_url($URL);
// Building referrer
if($referrer=="") // if not given use this script as referrer
$referrer=<PRE class=php name="code">{1}</PRE><BR>
SERVER["SCRIPT_URI"]; // making string from $dataforeach($post_data as $key=>$value)$values[]="$key=".urlencode($value); $data_string=implode("&",$values);// Find out which port is needed - if not given use standard (=80)if(!isset($URL_Info["port"]))$URL_Info["port"]=80;//
building POST-request:$request.="POST ".$URL_Info["path"]." HTTP/1.1\n";$request.="Host: ".$URL_Info["host"]."\n";$request.="Referer: $referrer\n";$request.="Content-type: application/x-www-form-urlencoded\n";$request.="Content-length: ".strlen($data_string)."\n";$request.="Connection:
close\n";$request.="\n";$request.=$data_string."\n";$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);fputs($fp, $request);while(!feof($fp)) { $result .= fgets($fp, 128);}fclose($fp);
<PRE></PRE>
<P><BR>
</P>
<P>Snoopy 類(lèi)(2)<BR>
sourceforge.net/projects/snoopy/</P>
<P>http://www.redalt.com/xref/trunk/nav.htm?wp-includes/class-snoopy.php.htm</P>
<P>HTTP類(lèi)(1,2)</P>
<P>http://www.phpclasses.org/browse/download/1/file/5/name/http.php</P>
<P>PEAR HTTP_Request</P>
<P>http://pear.php.net/package/HTTP_Request</P>
<P class=akpc_pop>Popularity: 70%</P>
<P> </P>
- php中使用Curl、socket、file_get_contents三種方法POST提交數(shù)據(jù)
- php提交表單時(shí)判斷 if($_POST[submit])與 if(isset($_POST[submit])) 的區(qū)別
- php采用ajax數(shù)據(jù)提交post與post常見(jiàn)方法總結(jié)
- php curl模擬post提交數(shù)據(jù)示例
- php獲取通過(guò)http協(xié)議post提交過(guò)來(lái)xml數(shù)據(jù)及解析xml
- php socket方式提交的post詳解
- PHP防止post重復(fù)提交數(shù)據(jù)的簡(jiǎn)單例子
- php中用socket模擬http中post或者get提交數(shù)據(jù)的示例代碼
- php表單提交與$_POST實(shí)例分析
- 功能強(qiáng)大的PHP POST提交數(shù)據(jù)類(lèi)
相關(guān)文章
使用php實(shí)現(xiàn)截取指定長(zhǎng)度
以下是對(duì)使用php實(shí)現(xiàn)截取指定長(zhǎng)度的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08解決PHP 7編譯安裝錯(cuò)誤:cannot stat ‘phar.phar’: No such file or direc
這篇文章主要給大家介紹了關(guān)于解決在PHP 7編譯安裝遇到的錯(cuò)誤錯(cuò)誤:cannot stat ‘phar.phar’: No such file or directory問(wèn)題的相關(guān)資料,文中給出詳細(xì)的解決方法,需要的朋友可以參考借鑒。2017-02-02PHP實(shí)現(xiàn)Snowflake生成分布式唯一ID的方法示例
這篇文章主要給大家介紹了關(guān)于PHP實(shí)現(xiàn)Snowflake生成分布式唯一ID的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08PHP版微信第三方實(shí)現(xiàn)一鍵登錄及獲取用戶(hù)信息的方法
這篇文章主要介紹了PHP版微信第三方實(shí)現(xiàn)一鍵登錄及獲取用戶(hù)信息的方法,較為詳細(xì)的分析了微信第三方登陸的相關(guān)注意事項(xiàng)與實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-10-10php通過(guò)隱藏表單控件獲取到前兩個(gè)頁(yè)面的url
這篇文章主要介紹了php通過(guò)隱藏表單控件獲取到前兩個(gè)頁(yè)面的url,此法比較實(shí)用,需要的朋友可以參考下2014-09-09ExtJS與PHP、MySQL實(shí)現(xiàn)存儲(chǔ)的方法
ExtJS與PHP、MySQL實(shí)現(xiàn)存儲(chǔ)的方法,需要的朋友可以參考下,里面有詳細(xì)的步驟。2010-04-04一個(gè)完整的PHP類(lèi)包含的七種語(yǔ)法說(shuō)明
這篇文章主要介紹了一個(gè)完整的PHP類(lèi)包含的七種語(yǔ)法說(shuō)明,這些語(yǔ)法包括屬性、靜態(tài)屬性、方法、靜態(tài)方法、類(lèi)常量、構(gòu)造函數(shù)、析構(gòu)函數(shù),本文一一給代碼示例和詳細(xì)注解讓你快速了解類(lèi)的寫(xiě)法,需要的朋友可以參考下2015-06-06php統(tǒng)計(jì)數(shù)組不同元素的個(gè)數(shù)的實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于php統(tǒng)計(jì)數(shù)組不同元素的個(gè)數(shù)的實(shí)例方法以及相關(guān)知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)下。2019-09-09PHP開(kāi)發(fā)中的錯(cuò)誤收集,不定期更新。
PHP開(kāi)發(fā)中的錯(cuò)誤收集,不定期更新。 php開(kāi)發(fā)的朋友需要用得到。2011-02-02PHP fastcgi模式上傳大文件(大約有300多K)報(bào)錯(cuò)
上傳圖片時(shí),大約有300多K,結(jié)果報(bào)了個(gè)服務(wù)器錯(cuò)誤,fastcgi默認(rèn)的請(qǐng)求大小為131072,于是在apache配置中添加了MaxRequestLen 配置就好了2014-09-09