站长资讯网
最全最丰富的资讯网站

php如何调用api接口

php如何调用api接口

通过php模拟post请求即可调用。

推荐:php服务器

php模拟POST提交的2种方法

1、通过curl函数

PHP中使用cURL实现Get和Post请求的方法

$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);

2、通过fsockopen.

fsockopen — 打开一个网络连接或者一个Unix套接字连接

$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=$_SERVER["SCRIPT_URI"];       // making string from $data   foreach($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.1n";   $request.="Host: ".$URL_Info["host"]."n";   $request.="Referer: $referrern";   $request.="Content-type: application/x-www-form-urlencodedn";   $request.="Content-length: ".strlen($data_string)."n";   $request.="Connection: closen";   $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);

赞(0)
分享到: 更多 (0)

网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号