当前位置:Gxlcms > PHP教程 > phpcurl取不到数据帮我看下是为什么

phpcurl取不到数据帮我看下是为什么

时间:2021-07-01 10:21:17 帮助过:18人阅读

http://fuzhou.8684.cn/



我的代码是这样。

 '*/*',
    'Accept-Charset' => 'UTF-8,*;q=0.5',
    'Accept-Encoding' => 'gzip,deflate,sdch',
    'Accept-Language' => 'zh-CN,zh;q=0.8',
    'Connection' => 'keep-alive',
    'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8',
    'Referer' => 'http://fuzhou.8684.cn/',
    'User-Agent' => 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',
    'X-Requested-With' => 'XMLHttpRequest',
));
$dat = curl_exec($ch);
var_dump(curl_error($ch));

//curl_close($ch);
var_dump($dat);
//var_dump(curl_error($ch));

可是输出的是
string(23) "Empty reply from server" bool(false)

回复内容:

http://fuzhou.8684.cn/



我的代码是这样。

 '*/*',
    'Accept-Charset' => 'UTF-8,*;q=0.5',
    'Accept-Encoding' => 'gzip,deflate,sdch',
    'Accept-Language' => 'zh-CN,zh;q=0.8',
    'Connection' => 'keep-alive',
    'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8',
    'Referer' => 'http://fuzhou.8684.cn/',
    'User-Agent' => 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',
    'X-Requested-With' => 'XMLHttpRequest',
));
$dat = curl_exec($ch);
var_dump(curl_error($ch));

//curl_close($ch);
var_dump($dat);
//var_dump(curl_error($ch));

可是输出的是
string(23) "Empty reply from server" bool(false)

我只能说你的curl手册没有看认真,CURLOPT_HTTPHEADER这个选项的用法肯定是按你自己想象的来的,实际上并不是这样,应该

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: */*',
    'Accept-Charset: UTF-8,*;q=0.5',
    'Accept-Encoding: gzip,deflate,sdch',
    'Accept-Language: zh-CN,zh;q=0.8',
    'Connection: keep-alive',
    'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
    'Referer: http://fuzhou.8684.cn/',
    'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',
    'X-Requested-With: XMLHttpRequest',
));

所以说得认真看手册

补充一下。本来打算用curl+正则 采集8684的数据。
后来发现 爱帮网有免费的公交数据API。
http://www.aibang.com/api/

查了下PHP手册。
楼主将代码:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept' => '*/*',
    'Accept-Charset' => 'UTF-8,*;q=0.5',
    'Accept-Encoding' => 'gzip,deflate,sdch',
    'Accept-Language' => 'zh-CN,zh;q=0.8',
    'Connection' => 'keep-alive',
    'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8',
    'Referer' => 'http://fuzhou.8684.cn/',
    'User-Agent' => 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',
    'X-Requested-With' => 'XMLHttpRequest',
));

调用的函数 curl_setopt 替换为 curl_setopt_array 试试。

Curl确实功能很强大!以前一直使用fsocket来在程序中发送http请求,后来试用curl后,感觉方便以及灵活得多!

收藏了一篇关于Curl的博文,虽然简单,但是感觉不错的!

http://www.360weboy.com/web-service/c...

人气教程排行