PHP 5.5 以降、cURL ライブラリはコアにバンドルされ、デフォルトで開かれます。したがって、PHP の cURL 関数を使用してデータを取得できます。
ただし、実際には、cURL がターゲット Web サイトからデータを取得できない場合があります。これらの問題は、次の理由によって発生する可能性があります。
この記事では、cURL がデータを取得できない原因とその解決方法について説明します。
一部の Web サイトでは、特定の IP アドレスからのリクエストを制限しています。違法なリクエストや頻度が多すぎるリクエストは拒否される場合があります。このような制限により、cURL によるデータのフェッチが妨げられる場合があります。この時点で、IP アドレスが制限されていることが確実な場合は、次の方法で問題を解決できます。
1) IP アドレスが通常の状態に戻っていることを確認します
2) 調整しますcURL コードへのアクセスは、通常のブラウザ アクセスとしてシミュレートされます。
3) プロキシ IP アドレスを使用して、ターゲット Web サイトにアクセスします。
プロキシサーバーを経由してアクセスする場合 Webサイトを対象とした場合、プロキシサーバーが間違っている、または接続できない場合があります。この状況が発生した場合は、次の方法でこの問題を解決できます。
1) プロキシ サーバーの IP アドレスとポート番号が正しいかどうかを確認します。
2) プロキシ サーバーのアクセス方法が正しいかどうかを確認します。ユーザー名とパスワードの認証が必要かどうかなど、プロキシ サーバーが正しいかどうか
3) プロキシ サーバーがファイアウォールまたは他のネットワーク保護システムによって制限されているかどうかを確認してください
2) 証明書の検証を無効にします。
3) 更新します。 cURL 証明書
2) ネットワーク障害があります
3) PHP プログラムにエラーがあります
4) リクエストはターゲット Web サイトによって拒否されました
2) ネットワークが正常に動作しているかどうかを確認します。 3) PHP プログラムにエラーがないか確認します。
4) リクエストが拒否された理由を特定します。
If 上記の問題が発生した場合は、特定の状況に応じて解決を試みることができます。コードとログをデバッグして、問題の原因を特定し、適切な解決策を講じることができます。
概要
PHP で cURL を使用する場合、データを取得できない場合は、複数の原因が考えられます。一般的な問題には、Web サイトによるリクエストのスロットル、プロキシ サーバーが間違っているか到達不能であること、HTTPS 証明書検証の失敗、リクエストのタイムアウトや失敗などが含まれます。特定の状況に基づいて適切な回避策を講じることで、上記の問題を解決でき、cURL が適切に動作できるようになります。
以上がphpcurlがデータを取得できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。