【问题标题】:How can I unwrap t.co links via an api to display the unshortened url?如何通过 api 解开 t.co 链接以显示未缩短的 url?
【发布时间】:2012-05-19 08:15:45
【问题描述】:

如果我有一个 Twitter t.co 链接,如何在 php 中取消缩短它?

【问题讨论】:

    标签: php twitter


    【解决方案1】:

    简单示例:

    $ch = curl_init("http://t.co/...");
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    $yy = curl_exec($ch);
    curl_close($ch);
    $w = explode("\n",$yy);
    $real_url = substr($w[3],10); # the fourth line is "Location: http://..."
    echo $real_url;
    

    【讨论】:

    • 如果标题不总是以相同的顺序出现怎么办?第四行可能并不总是 Location: 标题。
    【解决方案2】:

    您需要使用cURL(带有CURLOPT_HEADER 选项)来获取URL 的标头并查找Location: 标头。

    【讨论】:

    • 重定向可能并不总是使用 Location: HTTP 标头完成,有时重定向是使用 HTML 正文中的 标记或
    • @JonathonHill 这个问题是关于 t.co 的,它确实使用了 Location 标头。
    • 确实如此。我想我在想他们有可能在某个时候改变他们的 URL 缩短服务的工作方式,尽管可能不太可能。
    【解决方案3】:

    我建议将CURLINFO_EFFECTIVE_URLcurl_getinfo() 一起使用。

    https://stackoverflow.com/a/10661246/168815

    【讨论】:

      猜你喜欢
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-30
      • 2013-02-08
      相关资源
      最近更新 更多