php curl 取不到数据 帮我看下 是为什么
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的博文,虽然简单,但是感觉不错的!
http://www.360weboy.com/web-service/c...

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
