php发送post请求函数分享

php发送post请求函数分享

这篇文章主要介绍了一个php发送post请求的函数,开发中经常会用到,需要的朋友可以参考下

代码如下:

function do_post_request($url, $data, $optional_headers = null)

{

$params = array('http' => array(

'method' => 'POST',

'content' => $data

));

if ($optional_headers !== null) {

$params['http']['header'] = $optional_headers;

}

$ctx = stream_context_create($params);

$fp = @fopen($url, 'rb', false, $ctx);

if (!$fp) {

throw new Exception("Problem with $url, $php_errormsg");

}

$response = @stream_get_contents($fp);

if ($response === false) {

throw new Exception("Problem reading data from $url, $php_errormsg");

}

return $response;

}

用法如下:

代码如下:

//json字符串

$data = "{...}";

//转换成数组

$data=json_decode($data,true);

$postdata = http_build_query($data);

do_post_request("http://localhost",$postdata);