file_get_contents()
不读取短网址的数据示例:
- http://wp.me/pbZy8-1WM,
- http://bit.ly/d00E2C
请帮我处理这个。或者是否有任何 CURL 函数来处理上述链接?
这通常工作正常。如果您发现它没有做正确的事情,您可以显式使用流上下文:
$url = "http://bit.ly/d00E2C";
$context = stream_context_create(array('http' => array('max_redirects' => 5)));
$val = file_get_contents($url, false, $context);
应该这样做。无需为此触摸 CURL。
在我的机器上,我无法复制您的问题;我按预期收到了页面。但是,如果问题与重定向有关,这可能会解决您的问题。
<?php
$opts = array(
'http' => array(
'follow_location' => 1,
'max_redirects' => 20
)
);
$context = stream_context_create($opts);
echo file_get_contents('http://wp.me/pbZy8-1WM', false, $context);
我想可能有一个指令可以切换重定向跟随,但我还没有找到它。我会编辑我的答案。
您可以做的是使用 curl 并将 CURLOPT_FOLLOWLOCATION 设置为 True:
$ch = curl_init("http://bit.ly/d00E2C");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
curl_close($ch);
echo $result;