curl はホストを解決できません
使用状況は次のとおりです:
1. LAN が 2 つあり、どちらも外部ネットワークに接続できます。 HTTP を使用してリモート サーバーからデータを取得します。
2. CURL はどのネットワークを使用しても正常に動作します。
問題:
ネットワークに接続して正常に動作した後、ネットワーク ケーブルを取り外し、別のネットワークに変更します。この時点では、サーバーに再度データを要求すると、デバイスの電源がオフになりません。ホストを解決できないというメッセージが表示されます。
ただし、この時点で、以前のネットワーク ケーブルが再び接続されていれば、CURL はホストを正常に解析し、正常に動作します。
そこで、DNS をキャッシュしたのは CURL だと思い、ネットワークケーブルを変更した後、以前のデータを使用しました。
ただし、私のコードでは、データを取得する各リクエストの後に、curl_easy_cleanup、curl_global_cleanup、
を使用しています。 crul_easy_setopt(curl,CURLOPT_FRESH_CONNECT,1)
curl_easy_setopt(curl,CURLOPT_FORBID_REUSE,1 )
curl_easy_setopt も追加しました。 (curl,CURLOPT_DNS_USE_GLOBAL_CACHE,0)
これらは役に立ちません。 対処方法を知っている人はいますか?
-----解決策---------
この問題には多くの側面が関係している可能性があり、1 つの問題が原因であるとは言い切れません
1. 2 つの LAN とは何を意味しますか?ゲートウェイが異なるネットワークに接続されていると問題になります
2. ファイアウォールなどが影響する可能性があります
3. 識別、セッションなどが異なる可能性があります
------解決策------------------
PHP の CURL 関数ライブラリの最も完全な中国語マニュアル
http://hi.baidu.com/382262106/blog/item/a68694012db59f017aec2c6d.html
------解決策------------------