使用PHP的CURL函数获取数据(POST)
Posted 皓雪寒峰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PHP的CURL函数获取数据(POST)相关的知识,希望对你有一定的参考价值。
POST数据,然后返回JSON数据:
$m = M("crm_sch"); $map[‘ctry‘]="中国"; $dtData = $m->field("`schcid`")->where($map)->select(); unset($map); $json_data = json_encode($dtData); $data[‘schcid‘] = $json_data; $url = "http://***/Webhandler/*.ashx?type=cnsch&s=6e5dfb8"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $rawdata = curl_exec($ch); curl_close($ch); $obj = json_decode($rawdata, true); unset($data);
发起请求,直接返回JSON数据:
$url = "http://*/Webhandler/*.ashx?t=info&s=7ca3"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); $rawdata = curl_exec($ch); curl_close($ch); $obj = json_decode($rawdata, true);
写成函数以便调用:
//curl get function curl_get($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $dom = curl_exec($ch); curl_close($ch); return $dom; } //curl post function curl_post($url, $postdata) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postdate); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); return $result; }
以上是关于使用PHP的CURL函数获取数据(POST)的主要内容,如果未能解决你的问题,请参考以下文章
在php中分别使用curl的post提交数据的方法和get获取网页数据的方法
php curl如何直接转发当前php接收的headers?get请求如何直接转发get参数?post请求如何直接转发post参数?
PHP模拟POST提交数据并获得返回值之CURL方法(使用PHP extension,然后使用php_curl.dll,很不错)