【发布时间】:2012-03-25 10:17:09
【问题描述】:
我有一个包含 ID 列表的文本文件。 使用 PHP,我正在尝试为每个 ID 加载一个 url 并从该页面中提取一些内容(另一个 id)
例如,如果我的 ID 为 555、888、222 我想加载 URL
http://example.edu/bvl.P_Sel?facultyID=555
http://example.edu/bvl.P_Sel?facultyID=888
http://example.edu/bvl.P_Sel?facultyID=222
我尝试通过file_get_contents("http://example.edu/bvl.P_Sel?facultyID=$lines[0]");获取内容
其中 $lines 是一个 ID 数组。 这将返回以下错误:
Warning: file_get_contents(http://example.edu/bvl.P_Sel?facultyID=222) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404
该 url 是一个示例,但是当我手动访问错误中的 url 时,它确实有效。如果我将 file_get_contents 变量替换为实际 ID,例如 ?facultyID=222,它会完美运行。
我访问了这个问题的答案 How to post data in PHP using file_get_contents? 并尝试将 $postdata 数组中的一个变量分配给一个变量,但我得到了相同的确切错误,只有从错误消息的 url 中删除了 ?facultyID=XXX。
我对后者的实现是here。
【问题讨论】:
-
print_r($lines) 显示什么?
-
刚试过。出现相同的错误消息,并在错误消息的 URL 上附加了 id
-
你在 php.ini 中有
allow_url_fopen = On吗? -
print_r($lines)显示Array ( [0] => 813667 [1] => 1124279 [2] => 760643 [3] => 668461 [4] => 2868 [5] => 33613 )哪些是正确的 ID -
好的,希望你能解决这个问题:-)
标签: php http post web-scraping file-get-contents