使用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)的主要内容,如果未能解决你的问题,请参考以下文章