file_get_contents 请求外部站点
file_get_contents request to external site
我正在尝试 file_get_contents Demo URL
但是服务器无法从外部站点获取数据。这是我回显 file_get_contents:
时得到的错误
Found The document has moved
here. Apache/2.4 Server at spotifycharts.com Port 80
我在 php.ini file
中打开了 register_global
,但这没有帮助。
为了确保我的网站能够从外部网站获取数据,最合乎逻辑的检查是什么?
您可能需要使用 cURL 请求,我认为 file_get_contents()
无法遵循 302 重定向。
像这样的东西应该有用...
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$a = curl_exec($ch);
if (preg_match('#Location: (.*)#', $a, $r))
$l = trim($r[1]);
How to get the real URL after file_get_contents if redirection happens?
Source
只需使用 https url 而不是 http url:
https://spotifycharts.com/api/?type=regional&country=nl&recurrence=daily&date=latest&limit=200
我正在尝试 file_get_contents Demo URL
但是服务器无法从外部站点获取数据。这是我回显 file_get_contents:
Found The document has moved here. Apache/2.4 Server at spotifycharts.com Port 80
我在 php.ini file
中打开了 register_global
,但这没有帮助。
为了确保我的网站能够从外部网站获取数据,最合乎逻辑的检查是什么?
您可能需要使用 cURL 请求,我认为 file_get_contents()
无法遵循 302 重定向。
像这样的东西应该有用...
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$a = curl_exec($ch);
if (preg_match('#Location: (.*)#', $a, $r))
$l = trim($r[1]);
How to get the real URL after file_get_contents if redirection happens?
Source
只需使用 https url 而不是 http url:
https://spotifycharts.com/api/?type=regional&country=nl&recurrence=daily&date=latest&limit=200