如何使用cURL关注Twitter上的人?

时间:2014-03-16 15:37:04

标签: php http curl twitter request

我正在使用cURL生成HTTP请求以登录我的Twitter并且我正在尝试跟随人们使用它,我目前面临的一个问题是跟随按钮似乎不是一个表单但实际上只是一个发送以下请求的按钮

GET https://twitter.com/i/user/follow
Status: HTTP/1.1 200 OK
Request Headers
Accept  image/webp,*/*;q=0.8
Accept-Encoding gzip,deflate,sdch
Accept-Language en-US,en;q=0.8,ar;q=0.6
User-Agent  Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36

我发现奇怪的是没有用户的ID被传递以便被跟踪所以我不知道它是如何被传递的,我想可能来自引用者但是我试图通过访问来模仿我的浏览器的请求一个配置文件,然后访问该URL但我得到405错误

有没有人知道Twitter如何发送请求关注目前的人?

1 个答案:

答案 0 :(得分:0)

使用cookie处理事情。不知何故,你无法从请求中捕获Cookie。 Twitter正在使用cookie跟踪登录。这就是为什么简单的GET请求在登录后有效,并且在您没有登录的情况下不起作用(405错误)。步骤是:

使用curl登录并将cookie存储在文件中。只需抓住登录请求即可获得关注请求。

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'user=username&pass=password&someparam=xyz');

curl_setopt($ch, CURLOPT_COOKIEJAR, 'c:/temp/cookie.txt');

curl_close($ch); // don't forget to close curl

现在为您在说明中发布的关注请求调用http GET。这次使用您在之前调用中存储的cookie。

curl_setopt($ch, CURLOPT_COOKIEFILE, 'c:/temp/cookie.txt');