我有这个链接,工作正常。
http://a810-bisweb.nyc.gov/bisweb/PropertyProfileOverviewServlet?boro=3&houseno=512&street=bedford%20ave&requestid=0&s=A03C41B885B461E4F46BD08866A7430E
我想获取此网址的内容,但问题是file_get_contents
内容转换&
到&
http://a810-bisweb.nyc.gov/bisweb/PropertyProfileOverviewServlet?boro=3&houseno=512&street=bedford%20ave&requestid=0&s=A03C41B885B461E4F46BD08866A7430E
哪个不起作用。
$url = "http://a810-bisweb.nyc.gov/bisweb/PropertyProfileOverviewServlet?boro=3&houseno=512&street=bedford%20ave&requestid=0&s=A03C41B885B461E4F46BD08866A7430E";
$content = file_get_contents($url);
echo $content;
它会产生错误。
$url = "http://www.google.com";
$content = file_get_contents($url);
echo $content;
工作正常。
答案 0 :(得分:2)
如果没有为请求设置User-Agent
,我会收到403禁用错误。
此代码有效:
<?php
$url = "http://a810-bisweb.nyc.gov/bisweb/PropertyProfileOverviewServlet?boro=3&houseno=512&street=bedford%20ave&requestid=0&s=A03C41B885B461E4F46BD08866A7430E";
$opts = array(
'http' => array('header' => 'User-Agent: test'),
);
$ctx = stream_context_create($opts);
$content = file_get_contents($url, false, $ctx);
var_dump($content);
默认情况下,该网站不允许使用PHP用户代理,因此您需要使用流上下文指定一个或使用其他库(如cURL)来获取内容。
尝试使用file_get_contents获取远程URL时,这是一个常见问题。