因为专注,所以专业
2005 - 2020

通过php调用api接口模拟post请求

时间:2020-05-21 18:56:09    作者:八叔模板堂
通过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.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);

以上就是php如何调用api接口的详细内容,更多请关注php中文网其它相关文章!
赞(0
免费拨打  111-1111-1111
免费拨打  111-1111-1111免费拨打 111-1111-1111
微信二维码
手机二维码
返回顶部
返回顶部返回顶部