一些google服务(clientlogin)在使用libcurl时返回302移动

时间:2011-04-28 07:28:46

标签: curl libcurl

好的,所以我尝试在命令行中使用它:

curl -d accountType=GOOGLE -d Email=REDACTED@gmail.com -d Passwd=REDACTED -d service=finance -k https://www.google.com/accounts/ClientLogin

它似乎有效。即使我输错了密码,它也会告诉我身份验证不好。

然而,当我尝试使用libcurl时,它返回“302 moving”,而不是badauthentication。

我的意思是,这是代码:

#include <curl/curl.h>

using namespace std;

int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "https://www.gogle.com/accounts/ClientLogin");

    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);

    CURLcode retcode = res = curl_easy_perform(curl);
    if(retcode != 0){
        cout << "ERROR DETECTED : " << retcode << endl;
    }

    /* always cleanup */ 
    curl_easy_cleanup(curl);
  }
  return 0;
}

到底发生了什么?

1 个答案:

答案 0 :(得分:0)

许多网站都会检查用户代理字段。

或者您在此请求中错过了正确的Cookie。