http://fuzhou.8684.cn/
我的代码是这样。
<?php
$url = 'http://fuzhou.8684.cn/auto.php?cityid=53&keys=%E4%BE%A8';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIE, 'www8684cnhome_ecity=fuzhou; www8684cnhome_ecity_dt=guangzhou; bdshare_firstime=1355906550109; tip2012-12-24=1; fid=8684; CNZZDATA30024467=cnzz_eid=31662027-1355906564-http%253A%252F%252Fwww.8684.cn%252F&ntime=1356586054&cnzz_a=13&retime=1356587626999&sin=none<ime=1356587626999&rtime=2; tip2012-12-26=1');
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',
));
$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/
我的代码是这样。
<?php
$url = 'http://fuzhou.8684.cn/auto.php?cityid=53&keys=%E4%BE%A8';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIE, 'www8684cnhome_ecity=fuzhou; www8684cnhome_ecity_dt=guangzhou; bdshare_firstime=1355906550109; tip2012-12-24=1; fid=8684; CNZZDATA30024467=cnzz_eid=31662027-1355906564-http%253A%252F%252Fwww.8684.cn%252F&ntime=1356586054&cnzz_a=13&retime=1356587626999&sin=none<ime=1356587626999&rtime=2; tip2012-12-26=1');
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',
));
$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的博文,虽然简单,但是感觉不错的!
对于一个刚进入PHP 开发大门的程序员,最需要的就是一本实用的开发参考书,而不仅仅是各种快速入门的only hello wold。在开发的时候,也要注意到许多技巧和一些“潜规则”。PHP是一门很简单的脚本语言,但是用好它,也要下功夫的。同时,由于PHP 的特性,我一再强调,最NB 的PHP 程序员都不是搞PHP 的。为什么呢?因为PHP 作为一种胶水语言,用于粘合后端 数据库和前端页面,更多需
397
立即学习“PHP免费学习笔记(深入)”;
http://www.360weboy.com/web-service/c...
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号