ホームページ >バックエンド開発 >PHPチュートリアル >プロキシ経由の CURL リクエストが失敗するのはなぜですか? どうすれば修正できますか?

プロキシ経由の CURL リクエストが失敗するのはなぜですか? どうすれば修正できますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-14 09:49:01355ブラウズ

Why Is My CURL Request Through a Proxy Failing, and How Can I Fix It?

プロキシ経由で CURL を使用する方法: トラブルシューティング ガイド

プロキシ サーバーを使用すると、curl の機能が強化されますが、設定が不適切だと問題が発生する可能性があります。エラー。コードの徹底的な分析と、発生した問題の解決策は次のとおりです。

問題 1: 変数が欠落しています

最初のコード スニペットでは、行 12 が試行されました。 $url を初期化せずに使用するには:

$url = '$_POST[1]';

解決策:

HTML フォームからの適切な値で $url を初期化します。

問題 2: 空白の画面

更新されたコードは空白の画面のみを返すようになりました。これは、$curl_scraped_pa​​ge が出力をエコーし​​ていないことが最も考えられます:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

解決策:

$curl_scraped_pa​​ge への出力を有効にするには、CURLOPT_RETURNTRANSFER を 1 に設定します。

最終的な作業コード:

$url = 'http://dynupdate.no-ip.com/ip.php';
$proxy = '66.96.200.39:80';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);

echo $curl_scraped_page;

追加メモ:

  • CURLOPT_PROXYUSERPWD は、次のユーザー名とパスワードを提供するために使用できます。プロキシ認証。
  • 出力にヘッダーが不要な場合は、CURLOPT_HEADER をコメント化できます。
  • CURLOPT_PROXY を null に設定すると、特定のリクエストのプロキシが無効になります。

以上がプロキシ経由の CURL リクエストが失敗するのはなぜですか? どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。