C++ アプリケーションで Curl (libcurl) を使用していますが、Cookie を送信できません (と思います)。
Fiddler、TamperData、および LiveHTTP ヘッダーがインストールされていますが、これらはブラウザー トラフィックを表示する場合にのみ役立ち、マシン上の一般的なネットワーク トラフィックを監視することはできない (ように思われる) ため、マシンを実行してもヘッダー情報が表示されません。送信されています。しかし、ブラウザーでページを表示すると、正常にログオンすると、Cookie 情報が送信されていることがわかります。
アプリを実行しているときにページに正常にログオンし、その後別のページをフェッチしようとすると、(ページ) データはログオンしていないことを示しています。つまり、「状態」が何らかの形で失われています。
私の C++ コードは問題ないように見えるので、何が問題なのかわかりません。これが、次のことを行う必要がある理由です。
まず、自分のマシンのネットワーク トラフィック (ブラウザ トラフィックだけでなく) を表示できるようにする - どの (無料) ツール?
Curl を間違って使用していると仮定すると、コードのどこが悪いのでしょうか? (Cookie は正常に取得および保存されていますが、何らかの理由でリクエストと共に送信されていないようです。
これは、HTTP リクエストの Cookie 側を処理するクラスのセクションです。
curl_easy_setopt(curl, CURLOPT_TIMEOUT, long(m_timeout));
curl_easy_setopt(curl, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; WOW64; SV1; .NET CLR 2.0.50727)");
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "cookies.txt");
curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookies.txt");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 1L);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CurlCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, this);
上記のコードに何か問題がありますか?