php发送post请求函数分享

2015-01-24信息快讯网

这篇文章主要介绍了一个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);

©2014-2024 dbsqp.com