当社の製品のインターネット アクセス コードは、99.99% の人に完全に機能します。ただし、それらのいくつかについては、まったく機能しません。問題の原因を突き止めるためにトレース コードを追加しましたが、InternetOpenURL が次の関数呼び出しからエラー 2 - 「指定されたファイルが見つかりません」を報告していることが判明しました。
options = INTERNET_FLAG_RAW_DATA | INTERNET_FLAG_RESYNCHRONIZE;
handle = InternetOpenUrl(internet,url,NULL,0,options,0);
(internet は、InternetOpen で開かれたインターネット接続へのハンドルであり、url は、Web サーバーに存在する単純なテキスト ファイルへの URL です。)
1 つは http と 1 つは https で、まったく異なる場所 (異なるドメイン、地理的に離れた場所でホストされているサーバー) にある 2 つの異なる Web サイトをテストしましたが、どちらもこの 1 人と他の数人に同じエラーを返します。私たちを含め、99%の人がまったく問題なくアクセスできます。それだけでなく、影響を受けた人々は Web ブラウザで問題なく同じ URL にアクセスできます。
ここで一体何が起こっているのでしょうか?:(
編集:運が良ければ、何が問題なのかがわかりました!実際にプロキシ サーバーを指定せずに、インターネット オプションで [LAN にプロキシ サーバーを使用する] チェックボックスをオンにしている場合があります。存在しないプロキシ サーバーの詳細を使用しようとしていましたが、もちろんそれを行う際に問題が発生しました。
これについてはまだプログラムによる解決策を調査する必要がありますが、問題を報告するすべての人は、この解決策によって問題を解決しています:
- Internet Explorer を開く
- 「ツール -> インターネット オプション」に移動します。
- [接続] タブをクリックします。
- 下部近くに「LAN 設定」というラベルの付いたボタンがあるはずです。クリックして。
- [プロキシ サーバー] フィールドの下で、[LAN にプロキシ サーバーを使用する] のチェックを外します。
- すべてに [OK] をクリックし、Windows を再起動して、製品からインターネットへのアクセスを再試行します。
多くの人がチェックボックスをオンにしているのに、プロキシ サーバーが指定されていない理由がわかりません。しかし、どうやらこれはそれを修正するために行う必要があることです。