問題タブ [wininet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
internet-explorer - プログラムで IE から応答情報を取得するにはどうすればよいですか?
Windows API または C++ を使用するいくつかのインターフェイスを使用して IE の任意のページにアクセスしたときに、応答コード情報を取得するさまざまな方法を知りたいですか?
いくつかの方法が含まれると思います
1) BHO の使用: HTML の情報は得られると思いますが、ここで応答コードなどの HTTP に関する情報を取得できますか?
2) 非同期プラグ可能プロトコルの使用:
他の方法はありますか?
WinInet または WinHttp を使用してその情報を取得できますか?
firefox - IE以外のブラウザ用のブラウザキャッシュAPI
IEには、IEブラウザのキャッシュを読み取って操作するためのGetUrlCacheEntryInfoなどのWinInetAPIがあります。
FirefoxやChromeなどのIE以外のブラウザ用の同様のAPIはありますか?もしそうなら、どこでより多くの情報を得ることができますか?
ありがとう
アップデート:
以下(XPCOMコンポーネントからFirefoxキャッシュにアクセスする)によると、WinInet関数GetUrlCacheEntryInfo()は、nsICacheSession.openCacheEntry()によって実行され、nsICacheEntryDescriptorを取得できます。キャッシュエントリを作成する同等のWinInet関数CreateUrlCacheEntry()はありますか?
url - Wininet関数HttpOpenRequestに渡すことができる最大URL長はどれくらいですか?
Wininet関数HttpOpenRequestに渡すことができる最大URL長はどれくらいですか?
caching - FindNextUrlCacheEntry() が失敗した場合、失敗したエントリの情報を再度取得するにはどうすればよいですか?
をERROR_INSUFFICIENT_BUFFER
呼び出すときにエラーが発生しましたFindNextUrlCacheEntry()
。次に、拡大されたバッファーを使用して、失敗したエントリを再度取得します。しかし、 を呼び出すFindNextUrlCacheEntry()
と、失敗したエントリの隣にあるものを取得しているように見えました。失敗したばかりのエントリの情報を取得するために戻ることができる方法はありますか?
winapi - IRF_NO_WAIT フラグを指定して InternetReadFileEx 関数を呼び出しても待機するのはなぜですか?
同期の wininet 要求を使用InternetReadFileEx()
してIRF_NO_WAIT
フラグを指定して呼び出していますが、関数はまだデータの待機をブロックしています。何故ですか?
c - 純粋なCを使用したSSL(HTTPS)経由のWinInet POST?
Cのみを使用してSSL経由でWinInetHTTPPOSTを取得しようとして立ち往生しています。それが可能であることはわかっています。良いサンプルコードはありますか?
本当にありがとう!
編集:次のコードは、WinHTTPを使用するC ++で正常に機能しているようですが、WinInetが必要です。
c++ - C++ のクラッシュを引き起こす InternetAttemptConnect
wininet ライブラリを使用してサーバーへの投稿/要求を行うアプリがあります。99.9% の確率で完全に動作しますが、ブルー ムーンになると、::InternetAttemptConnect(NULL) を実行しようとすると、無効なメモリ参照でアプリがクラッシュします。説明がかなり曖昧で申し訳ありませんが、この問題を引き起こす原因について何か考えがある人はいますか?
c++ - WinInet のアンロード時にアプリケーションがハングまたはクラッシュする
WinInet を使用する VC++ アプリケーションがあります。次のことを行います。
- WinInet.dll
LoadLibrary()
をロードする呼び出し - 通話
InternetAttemptConnect()
- 通話
InternetOpen()
- として
InternetConnect()
提供する呼び出しINTERNET_SERVICE_FTP
dwService
最後の呼び出しが失敗した場合 (通常、渡されたパスワードが間違っているため)InternetConnect()
は 0 を返します。これは、ログにエラーを書き込んでアプリケーションを終了することで処理する必要があります。
それが起こると、アプリケーションはInternetCloseHandle()
によって返されたハンドルを閉じるように呼び出し、InternetOpen()
を離れWinMain()
ます。
その後、ライブラリのアンロードが開始されます。wininet.dll へのハンドルを保持する静的オブジェクトが破棄されFreeLibrary()
て呼び出されるかFreeLibrary()
、Windows によって呼び出されます。いずれにせよ、呼び出しがFreeLibrary()
ハングまたはクラッシュします。
通常、次のコール スタックでハングします。
適切なコール スタックを表示せずにクラッシュすることもあります。問題は、WinInet が適切にファイナライズされておらず、これを処理するために追加のアクションと時間が必要になることだと思います。
この状況の回避策はありますか?
c - FindFirstUrlCacheEntry()をフィルタリングするにはどうすればよいですか?
私はMSDNのドキュメントを調べましたが、うまくいきません。何が間違っているのでしょうか。
私のコードは次のとおりです。たとえば、Cookieのみを取得するためにIEキャッシュをフィルタリングしようとしています。
c++ - 「もっと良い方法はありますか?」Windows Vista の wininet でのエラー 12029
Windows Vista で MFC wininet クラスを使用しているときに、エラー 12029 (ERROR INTERNET CANNOT CONNECT、サーバーへの接続に失敗しました。) を受け取り続けました。エラーの原因は、Windows Defender によるものでした。Windows Defender を完全にオフにするよりも、これを回避する良い方法はありますか? 「リアルタイム保護」を無効にしようとしましたが、12029 エラーを停止するには WD を完全に無効にする必要がありました。
より良い解決策がない場合は、同じ問題を抱えている他の誰かがこの質問を見て、自分の問題を解決できることを願っています. インターチューブの高低を検索しましたが、wininet エラー 12029 と WD の間の相互参照は見つかりませんでした。
参照用の私のコード