【问题标题】:How to follow people on twitter using cURL?如何使用 cURL 在 Twitter 上关注人们?
【发布时间】:2014-03-16 15:37:04
【问题描述】:

我正在使用 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 目前是如何发送关注人的请求的吗?

【问题讨论】:

    标签: php http curl twitter request


    【解决方案1】:

    事情是使用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');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-17
      • 2019-06-14
      • 2011-04-23
      • 2018-11-09
      • 1970-01-01
      • 2021-09-02
      • 2011-09-14
      • 2018-09-14
      相关资源
      最近更新 更多