私はポストデータとCOOKIESを送信するプログラムを作成しようとしています。クッキーの追加部分がクッキーを正しく追加していないようです...C++ Cookieの追加と送信
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
int main(int argc, char *argv[])
{
CURL *curl;
CURLcode res;
struct curl_httppost *formpost=NULL;
struct curl_httppost *lastptr=NULL;
struct curl_slist *headerlist=NULL;
static const char buf[] = "Expect:";
curl_global_init(CURL_GLOBAL_ALL);
/* Fill in the nick field */
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "nick",
CURLFORM_COPYCONTENTS, "nichnameofxxx",
CURLFORM_END);
/* Fill in the pass field */
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "pass",
CURLFORM_COPYCONTENTS, "passwordofxxx",
CURLFORM_END);
/* Other fields like ID */
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "ProfileID",
CURLFORM_COPYCONTENTS, "77820",
CURLFORM_END);
/* Fill in the submit field too, even if this is rarely needed */
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "submit",
CURLFORM_COPYCONTENTS, "send",
CURLFORM_END);
curl = curl_easy_init();
/* initalize custom header list (stating that Expect: 100-continue is not
wanted */
headerlist = curl_slist_append(headerlist, buf);
//Cookies here... it's a part of the Header
headerlist = curl_slist_append(headerlist, "Cookie: name=xxx; name2=xxx");
if(curl)
{
// what URL that receives this POST
curl_easy_setopt(curl, CURLOPT_URL, "http://www.mything.org/index.php?id=log2");
if ((argc == 2) && (!strcmp(argv[1], "noexpectheader")))
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
curl_formfree(formpost);
curl_slist_free_all (headerlist);
}
return 0;
}
何でもよろしくお願いします!
適切にクッキーを追加しないことで、あなたは何をすべきかそれはどういう意味ですか?何が起こるのですか?ビルド中にエラーがありますか?実行中にエラーが発生しましたか?デバッガのコードを踏んで何が起こったのか見ましたか? –
私はあなたが正しいクッキーを持っている場合にのみ、トピックを変更することができますテストウェブサイトがあります。私はウェブサイトをテストし、クッキーをうまくキャッチします。したがって、間違っているのはプログラムコードだけです... –
そして、なぜあなたのブラウザはlibcurlと同じ場所にクッキーを保存すると思いますか? –