2010-11-23 11 views
1

私はVS 2010を使用して自分自身を書いた小さなC++アプリケーションを使用しています。 このアプリケーションは、次の機能を使用してHTTPS経由でWebサイトにアクセスします:C++:Cookieはあるマシンには格納されず、別のマシンに格納されます。

InternetOpen(), InternetConnect(), HttpOpenRequest(), HttpSendRequest(), 
HttpQueryInfo(), InternetReadFile() 

このアプリケーションは、最初に動作していたビットマシン - Win XPおよび現在Win 7。 64ビット版のWin 7マシンでは動作しませんが、まだ32ビットの実行可能コードをビルドするように設定されています。アプリはWebサイトにログインできません。

HTTPトラフィックスニファで確認すると、Webサイトによって設定されたクッキーなしで1つのリクエストが行われていることに気付きました。

私の質問は、どこにクッキーが正常に保存されているのですか?私が言ったように、私は上記の機能だけ、ライブラリを使用していません。

そして、2番目のマシンにクッキーを保存しない理由は何でしょうか?

あなたのお手伝いをありがとう!

+0

WinInetは、 – Eugene

答えて

0

MSDNのManaging Cookiesを参照してください。 CookieがAppData¥Roaming¥Microsoft¥Windows¥Cookies¥Lowにあることを説明しています

x64でCookieメカニズムが失敗する可能性がある理由はありません。私はむしろ、そのサイト(例えば、別のゾーンにあるサイト、または第三者と見なされるクッキー)のクッキーの使用を無効にするいくつかのローカル(IE)設定オプションが有効であると予想したいと思います。

+0

という奇妙なことに、AppData \ Roaming \ Microsoft \ Windowsに「Cookies」フォルダを持っていないという奇妙なことに、このアプリケーションを実行する32ビットマシンです。私はスレッドのメモリに保存できるかどうか疑問に思います。 – Wartin

+0

解決済み!実際、Cookieの使用を制限するのはIEの設定でした。 – Wartin

+0

セッションクッキー(つまり、ブラウザが閉じられたときに(おそらくInternetCloseHandleと一致する)から離れていると思われる)の場合、クッキーはおそらく実際にはプロセスメモリー(おそらくHINTERNET、ヒープに関連付けられている)に格納されます。永続的なCookieのみがディスクに保存されます。 –

関連する問題