URL 使用 & 但不使用 &
URL working with & but not &
我有这个 link,效果很好。
http://a810-bisweb.nyc.gov/bisweb/PropertyProfileOverviewServlet?boro=3&houseno=512&street=bedford%20ave&requestid=0&s=A03C41B885B461E4F46BD08866A7430E
我想获取此 URL 的内容,但问题是 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;
它工作正常。
没有为请求设置 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 时的常见问题。
我有这个 link,效果很好。
http://a810-bisweb.nyc.gov/bisweb/PropertyProfileOverviewServlet?boro=3&houseno=512&street=bedford%20ave&requestid=0&s=A03C41B885B461E4F46BD08866A7430E
我想获取此 URL 的内容,但问题是 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;
它工作正常。
没有为请求设置 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 时的常见问题。