php模拟post提交请求与调用接口
生活随笔
收集整理的這篇文章主要介紹了
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);}復制代碼
?
轉載于:https://www.cnblogs.com/wuheng1991/p/7445262.html
總結
以上是生活随笔為你收集整理的php模拟post提交请求与调用接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery.nicescroll完美滚
- 下一篇: 动态规划算法php,php算法学习之动态