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");
- } //phpfensi.com
- $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);