首頁  >  文章  >  後端開發  >  為什麼我透過代理的 CURL 請求失敗,如何修復?

為什麼我透過代理的 CURL 請求失敗,如何修復?

Susan Sarandon
Susan Sarandon原創
2024-11-14 09:49:01282瀏覽

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);

解決方案:

將CURLOPT_RETURNTRANSFER 設定為11 以啟用到$Aterurl ge 的輸出。

最終工作代碼:

$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;

附加說明:

  • CURPT_PRO代理身份驗證。
  • 如果輸出中不需要標頭,可以註解掉 CURLOPT_HEADER。
  • 將 CURLOPT_PROXY 設定為 null 會停用特定要求的代理程式。

以上是為什麼我透過代理的 CURL 請求失敗,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn