gpt4 book ai didi

C代码: cURL POST

转载 作者:行者123 更新时间:2023-11-30 17:23:20 25 4
gpt4 key购买 nike

我的代码遇到了一些困难。我正在尝试使用 cURL 连接到网站。让我们看看网站的代码:

<td class="input "><input tabindex="1" class="text" name="authentificationLogin" id="authentificationLogin" type="text"/></td>
<td class="input "><input tabindex="2" class="text" autocapitalize="off" autocorrect="off" name="authentificationPassword" id="authentificationPassword" type="password"/></td>
<td class="input "><input name="authentificationRedirection" id="authentificationRedirection" type="hidden" value="http://myWebsite/?Redirect"/><input name="authentification08e11696a1" id="authentification08e11696a1" type="hidden" value=""/><br/><button class="button button-style" type="submit" name="Submit" id="authentificationSubmit" onclick="return lock(&quot;id:authentificationSubmit&quot;);">

现在,让我们看看我的代码:

#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
#include <curl/easy.h>

void Demarrage(void){
CURLcode res;
const char *userAgentMozilla = "Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20"; // set userAgent
const char *data = "&to=gaia&login=myName&password=myPassword&isBoxStyle="; // set the data to send
curl_global_init(CURL_GLOBAL_ALL);
CURL *handle;
handle = curl_easy_init();

curl_easy_setopt(handle,CURLOPT_COOKIESESSION,1); // clean up session.
curl_easy_setopt(handle,CURLOPT_USERAGENT,userAgentMozilla); // set the user agent
curl_easy_setopt(handle,CURLOPT_URL,"http://myWebsite.com/logIn"); // set the url
curl_easy_perform(handle); // perform
// I must to take cookies that the website gave to me.
curl_easy_setopt(handle,CURLOPT_POSTFIELDSIZE,58L); // size of the request.
curl_easy_setopt(handle,CURLOPT_POSTFIELDS,data); // aray of the POST request
curl_easy_perform(handle); // perform and connect to the Website

}

我也使用 Wireshark,

当我手动完成时我拥有什么(仅是可打印的 caract )

$QU9Eq@*Y!P9?PDpPOST /site/doLogIn HTTP/1.1

我不知道那是什么。

Host: myWebsite.com

主机。

Connection: keep-alive
Content-Length: 140
Accept: text/html, */*; q=0.01

我认为有些手续。

Origin: http://myWebsite.com

再次主持。与类型。

X-Requested-With: XMLHttpRequest

我不知道那是什么。

User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36

用户代理。我不太明白为什么有 4 种类型的用户代理。

Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://myWebsite/logIn
Accept-Encoding: gzip, deflate
Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4

手续。

Cookie: advertisementcookie=1; __utma=108225430.1356423961.1414526372.1414789248.1414921274.6; __utmz=108225430.1414526372.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); sessionprod=oekotlo6tfbujtpfirddvvqlp1; _gat=1; _ga=GA1.2.1356423961.1414526372

好吧,这开始变得有趣了。这是在 HTTP 请求期间发送到网站的 cookie。每次我发送新的 HTTP 请求时,它们都会发生变化。

&to=gaia&login=myName&password=myPassword&redirection=http%3A%2F%2FmyWebsite.com%2%2F%3Fidentification%3D1&isBoxStyle=&08e11696a1=

这是我请求的主要内容。用户名和密码被发送到服务器。

我没有错误,但我的代码无法工作,因为我上次连接的时间没有改变...可能是因为我没有设置cookie。我真的没有经验,我知道我可能犯了很多愚蠢的错误。但是,如果您有任何信息,请回答我的问题......您有修复此代码的绝妙想法吗?

最诚挚的问候。泽维尔。

最佳答案

您想要将字符串“&to=gaia&login=myName&password=myPassword&redirection=http%3A%”设置为 CURLOPT_POSTFIELDS这种“常规”POST 的选项。

CURLOPT_HTTPPOST您使用的选项(与curl_formadd等结合使用)用于多部分模板柱,这显然是您不想要的!

关于C代码: cURL POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27649465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com