file_get_contents()用于短网址

时间:2011-05-30 05:06:06

标签: php curl short-url

file_get_contents()不会读取短网址的数据 例如:

  • http://wp.me/pbZy8-1WM,
  • http://bit.ly/d00E2C

请帮我处理这件事。或者是否有任何CURL函数来处理上述链接?

3 个答案:

答案 0 :(得分:7)

这一般都很好。如果您发现它没有做正确的事情,您可以明确使用流上下文:

$url = "http://bit.ly/d00E2C";
$context = stream_context_create(array('http' => array('max_redirects' => 5)));
$val = file_get_contents($url, false, $context);

应该这样做。无需触摸CURL。

答案 1 :(得分:4)

在我的机器上,我无法复制你的问题;我按预期收到了该页面。但是,如果问题与重定向有关,这可能会解决您的问题。

<?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);

我想可能有一个指令切换重定向跟随,但我还没有找到它。我会编辑我的答案。

答案 2 :(得分:1)

你可以做的是使用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;