任何从Twitter获取t.co链接的方法

Any way to capture the referring t.co link from Twitter?

本文关键字:链接 方法 co Twitter 获取 任何      更新时间:2023-09-26

我想在Twitter上发布相同链接的多个版本,但我想在它们击中我的服务器时使用唯一标识符捕获它们。

Twitter为此部分设计了一种机制,例如,如果我在Twitter消息中发布www.example.com, Twitter将通过301重定向自动将其解析为以t.co开头的自定义URL。

更多信息:Twitter Link wrapped

我想捕获这个重定向的URL,这样我就可以有一个唯一的标识符在Twitter上类似的链接。

有办法吗?或者有没有更好的方法来处理这个问题?

(我正在寻找一个解决方案在PHP/JS或如果需要任何可能的方式与任何语言)

EDIT:链接需要在Twitter中完全相同,不能在链接上有查询参数或哈希。

EDIT2:进一步调查,如果t.co链接是归属于相同配置文件的相同链接url,则t.co链接将保持不变。例如,www.example.com的两个链接在相同的twitter配置文件将产生相同的t.co链接,但t.co链接将是不同的,如果它归因于另一个配置文件。我想这意味着,即使有解决上述问题的方法,仍然没有办法区分相同的twitter个人资料服务器端的相同链接。

EDIT3 12/26/11有趣的是,t.co区分了http://https,所以理论上你可以在相同的配置文件上"显示"两个相同的链接,它们在Twitter上看起来是一样的,但是t.co的重定向链接将是不同的。它将链接到http和https版本。

  • 最终,我想做的是找出一个指向我的服务器的链接的推文id,而不诉诸于URL参数。

你需要放置一些get参数

page.php吗?推荐人= twitter

然后像

一样检查
<?php
if ($_GET['referer'] == "twitter")
{
    //do stuff
}

我认为最可靠的方法是将每个链接与您自己的某种标识符共享。

例如,

  • www.domain.com/page-1 ? ref = 1
  • www.domain.com/page-1 ? ref = 2
  • 等。

你可以很容易地在PHP或任何你想要的语言中实现对ref参数的跟踪。

公司不会把原来的推荐人带过去。所以在重定向之后你不能捕获这个。你只会看到一个t.co/foobar引用器