亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP模擬post提交數據方法匯總

2024-05-04 23:43:06
字體:
來源:轉載
供稿:網友
使用php模擬post傳值雖然在日常生活中用到的不是很多,但是在某些場合還是經常用到的。下面VeVb武林網小編給大家整理了三種php模擬post傳值的方法,file_get_contents、curl和socket,需要的朋友參考下
 

使用php模擬post傳值雖然在日常生活中用到的不是很多,但是在某些場合還是經常用到的。下面VeVb武林網小編給大家整理了三種php模擬post傳值的方法,file_get_contents、curl和socket。

第一種:file_get_contents來模擬post

<phpfunction file_get_contents_post($url, $post){$options = array(‘http‘=> array(‘method‘=>‘POST‘,‘content‘=> http_build_query($post),),);$result = file_get_contents($url,false, stream_context_create($options));return $result;}$data = file_get_contents_post("http://www.a.com/post/post.php", array(‘name‘=>‘caiknife‘,‘email‘=>‘caiknife#gmail.com‘));var_dump($data);

第二種:curl模擬post

<phpfunction curl_post($url, $post){$options = array(CURLOPT_RETURNTRANSFER =>true,CURLOPT_HEADER =>false,CURLOPT_POST =>true,CURLOPT_POSTFIELDS => $post,);$ch = curl_init($url);curl_setopt_array($ch, $options);$result = curl_exec($ch);curl_close($ch);return $result;}$data = curl_post("http://www.a.com/post/post.php", array(‘name‘=>‘caiknife‘,‘email‘=>‘caiknife#gmail.com‘));var_dump($data);

第三種:socket來模擬post

<phpfunction socket_post($url, $post){$urls = parse_url($url);if(!isset($urls[‘port‘])){$urls[‘port‘]=80;}$fp = fsockopen($urls[‘host‘], $urls[‘port‘], $errno, $errstr);if(!$fp){echo "$errno, $errstr";exit();}$post = http_build_query($post);$length = strlen($post);$header =<<<HEADER<span class="Apple-tab-span" style="white-space:pre"></span>POST {$urls[‘path‘]} HTTP/1.1<span class="Apple-tab-span" style="white-space:pre"></span>Host:{$urls[‘host‘]}<span class="Apple-tab-span" style="white-space:pre"></span>Content-Type: application/x-www-form-urlencoded<span class="Apple-tab-span" style="white-space:pre"></span>Content-Length:{$length}<span class="Apple-tab-span" style="white-space:pre"></span>Connection: close<span class="Apple-tab-span" style="white-space:pre"></span>{$post}<span class="Apple-tab-span" style="white-space:pre"></span>HEADER;fwrite($fp, $header);$result =‘‘;while(!feof($fp)){$result .= fread($fp,512);}$result = explode("/r/n/r/n", $result,2);return $result[1];}$data = socket_post("http://www.a.com/post/post.php", array(‘name‘=>‘caiknife‘,‘email‘=>‘caiknife#gmail.com‘));var_dump($data);

上面這三種方法最后看到的內容都是一樣的,都可以得到post的傳值;但是在是用socket的時候,發送header信息時必須要注意header的完整信息,比如content type和content length必須要有,connection: close和post數據之間要空一行,等等;而通過socket取得的內容是包含了header信息的,要處理一下才能獲得真正的內容。

下面給大家說下php模擬post提交請求,調用接口

/*** 模擬post進行url請求* @param string $url* @param string $param*/function request_post($url = '', $param = '') {if (empty($url) || empty($param)) {return false;}$postUrl = $url;$curlPost = $param;$ch = curl_init();//初始化curlcurl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定網頁curl_setopt($ch, CURLOPT_HEADER, 0);//設置headercurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求結果為字符串且輸出到屏幕上curl_setopt($ch, CURLOPT_POST, 1);//post提交方式curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);$data = curl_exec($ch);//運行curlcurl_close($ch);return $data;} 

這是方法,

下面是具體的調用案例。

function testAction(){$url = 'http://mobile.jschina.com.cn/jschina/register.php';$post_data['appid'] = '10';$post_data['appkey'] = 'cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ';$post_data['member_name'] = 'zsjs123';$post_data['password'] = '123456';$post_data['email'] = 'zsjs123@126.com';$o = "";foreach ( $post_data as $k => $v ) { $o.= "$k=" . urlencode( $v ). "&" ;}$post_data = substr($o,0,-1);$res = $this->request_post($url, $post_data); print_r($res);} 

這樣就提交請求,并且獲取請求結果了。一般返回的結果是json格式的。

這里的post是拼接出來的。

也可以改造成下面的方式。

/*** 模擬post進行url請求* @param string $url* @param array $post_data*/function request_post($url = '', $post_data = array()) {if (empty($url) || empty($post_data)) {return false;}$o = "";foreach ( $post_data as $k => $v ) { $o.= "$k=" . urlencode( $v ). "&" ;}$post_data = substr($o,0,-1);$postUrl = $url;$curlPost = $post_data;$ch = curl_init();//初始化curlcurl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定網頁curl_setopt($ch, CURLOPT_HEADER, 0);//設置headercurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求結果為字符串且輸出到屏幕上curl_setopt($ch, CURLOPT_POST, 1);//post提交方式curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);$data = curl_exec($ch);//運行curlcurl_close($ch);return $data;}

將拼接也封裝了起來,這樣調用的時候就更簡潔了。

function testAction(){$url = 'http://mobile.jschina.com.cn/jschina/register.php';$post_data['appid'] = '10';$post_data['appkey'] = 'cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ';$post_data['member_name'] = 'zsjs124';$post_data['password'] = '123456';$post_data['email'] = 'zsjs124@126.com';//$post_data = array();$res = $this->request_post($url, $post_data); print_r($res);}


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美裸体xxxx极品少妇软件| 欧美激情喷水视频| 日本一区二区三区在线播放| 亚洲精品久久久久久久久久久久久| 成人在线播放av| 色妞在线综合亚洲欧美| 欧美午夜性色大片在线观看| 国产不卡av在线免费观看| 国产精品九九九| 午夜精品久久久久久久久久久久| 国内揄拍国内精品少妇国语| 日本久久久久久久久| 91嫩草在线视频| 久久久久国产精品免费网站| 日韩中文字幕视频| 欧美大人香蕉在线| 黑人巨大精品欧美一区二区| 国产精品久久久久免费a∨大胸| 欧美大奶子在线| 久久久国产精品x99av| 国产精品欧美一区二区三区奶水| 日韩在线www| 精品国产乱码久久久久酒店| 色妞在线综合亚洲欧美| 久热99视频在线观看| 亚洲自拍偷拍福利| 中国china体内裑精亚洲片| 亚洲成人精品在线| 日韩视频第一页| 欧美激情视频播放| 日韩经典一区二区三区| 成人美女免费网站视频| 欧美在线精品免播放器视频| 国产精品成av人在线视午夜片| 欧美壮男野外gaytube| 欧美精品videofree1080p| 久久影视电视剧免费网站| 国产91成人video| 国产精品老牛影院在线观看| 欧美视频一区二区三区…| 日韩精品久久久久| 91亚洲国产成人精品性色| 国产精品直播网红| 精品久久久久久久久久ntr影视| 97久久精品视频| 欧美精品日韩三级| 精品久久久久久久大神国产| 亚洲国产一区二区三区四区| 日本精品久久久| 在线播放亚洲激情| 国产91|九色| 精品露脸国产偷人在视频| 欧美日韩亚洲精品一区二区三区| 欧美成人精品一区| 欧美日韩国产中文字幕| 日韩美女在线看| 国产精品视频一区国模私拍| 国产成人精品av| 亚洲毛片在线观看| 国内精品久久久久影院优| 亚洲精品综合精品自拍| 久久久久久12| 国产福利视频一区二区| 国产精品美女主播在线观看纯欲| 国产热re99久久6国产精品| 色777狠狠综合秋免鲁丝| 国产精品网红直播| 欧美大全免费观看电视剧大泉洋| 中文字幕欧美日韩精品| 国产91精品最新在线播放| 92看片淫黄大片欧美看国产片| 日本高清+成人网在线观看| 亚洲国产精品系列| 亚洲第一中文字幕在线观看| 精品露脸国产偷人在视频| 亚洲欧美另类在线观看| 国产精品丝袜视频| 国产原创欧美精品| 亚洲毛片在线免费观看| 国产成人午夜视频网址| 4444欧美成人kkkk| 另类天堂视频在线观看| 久久久精品国产亚洲| 国产精品久久久999| 亚洲精品电影在线观看| 亚洲精品美女在线观看| 国产欧美日韩精品丝袜高跟鞋| 国产精品一区二区久久国产| 亚洲精品91美女久久久久久久| 日韩在线欧美在线| 欧美性猛交xxxx乱大交3| 亚洲欧美中文日韩在线v日本| 欧美性猛交xxxx| 欧美一区二区大胆人体摄影专业网站| 国产日韩精品在线观看| 色婷婷综合成人| 久久久久久成人| 国产精品扒开腿爽爽爽视频| 亚洲品质视频自拍网| 欧美电影第一页| www.日韩欧美| 日韩免费在线看| 亚洲自拍av在线| 欧美激情亚洲激情| 色噜噜久久综合伊人一本| 国产精品都在这里| 日本精品中文字幕| 欧美一级黄色网| 国产mv久久久| 欧美二区乱c黑人| 精品二区三区线观看| 午夜精品久久17c| 欧美在线观看视频| 日韩av在线网| 欧美激情三级免费| 久久这里只有精品视频首页| 色香阁99久久精品久久久| 136fldh精品导航福利| 成人乱人伦精品视频在线观看| 欧美激情精品久久久久久久变态| 日韩精品在线影院| 91a在线视频| 精品国产精品自拍| 久久人人爽人人爽爽久久| 欧美一区二区三区艳史| 精品中文字幕在线| 久久久久久久色| 粉嫩老牛aⅴ一区二区三区| 97香蕉超级碰碰久久免费软件| 红桃视频成人在线观看| 成人黄色在线免费| 亚洲欧美日韩在线一区| 久久资源免费视频| 97香蕉超级碰碰久久免费软件| 久久久电影免费观看完整版| 国产成人一区二区在线| 精品一区二区三区四区在线| 久久久久久久久国产| 国产日韩综合一区二区性色av| 国产精品视频不卡| 久久久精品亚洲| 狠狠久久五月精品中文字幕| 国产精品视频26uuu| 亚洲视频一区二区| 久久人91精品久久久久久不卡| 欧美在线播放视频| 日韩免费观看视频| 国产精品久久久久久久久久小说| 国产美女精品视频免费观看| 日韩美女视频在线观看| 国产视频在线一区二区| 日本久久久久久久久久久| 久久视频在线播放| 97香蕉久久超级碰碰高清版| 北条麻妃一区二区在线观看| 精品久久久久久亚洲精品| 中文字幕亚洲综合| 久久久久久久久久久免费精品| 97成人在线视频| 91在线看www| 热久久这里只有| 欧美一区二区三区艳史| 欧美成人免费一级人片100| 国产成人一区二区三区小说|