如何发送推文?

时间:2014-01-31 13:57:43

标签: post twitter proxy http-request

我对这里的事感到非常困惑。一旦您点击网站上的“推文”按钮,如何将推文发送到服务器?

为了回答这个问题,我设置了一个代理监听器来拦截所有请求和所有内容。我将我的浏览器设置在localhost和所有内容上,并且,当我在加载Twitter.com时收到所有请求时,从我点击“Tweet”时没有收到任何请求以及它在我的流中显示的时间。

这怎么可能在物理上可行?这里有什么非常简单的东西吗?

3 个答案:

答案 0 :(得分:4)

Twitter现在只使用HTTPS,因此无需设置MITM代理,您将无法窥探正在传输的数据。

关于设置MITM代理,请查看此软件:mitmproxy

如果您希望自己发送推文,与Twitters网页/应用分开,请查看他们的API:Twitter 1.1 API - statuses/update

大多数浏览器都附带开发人员插件,可以让您查看请求(包括HTTPS请求)发送的数据。在我看来,最好的是Chromes开发者扩展(默认安装),可以通过按'F12'打开。 FireFox的另一个选择是Firebug,一旦安装,也可以通过按'F12'打开。

此外,您可能应该为帖子添加更多上下文,例如您感兴趣的平台,例如Android,iPhone或Web(即Twitters vanilla网站)。

答案 1 :(得分:2)

假设您正在使用Twitter网站,使用TamperData快速查看,浏览器正在向包含推文内容的https://twitter.com/i/tweet/create发送POST请求。

答案 2 :(得分:0)

我正在研究Twitter是否在其网站上使用https://api.twitter.com发送推文,我注意到(使用Chrome F12)该请求实际上是通过https://twitter.com/i/tweet/create发送的。我的印象是Twitter在其网站上使用其API进行了一次宁静的调用。他们是否在服务器上有一个代理,它会从浏览器转换请求并将其转发到其Web服务?并且,如果所有请求都被转换并通过POST /1/direct_messages/new.json HTTP / 1.1发送到其api子域,他们如何知道发出请求的设备?我注意到有效载荷是

  

authenticity_token = abc1234c3&安培; place_id =安培;状态=嗯%2C +这是+ A +消息+%7BAfter +注册%7D

为脚本消息道歉 - 我只能在这篇文章中使用两个链接(你看到的新用户!)