gpt4 book ai didi

php - 如何通过代理使用 CURL?

转载 作者:IT老高 更新时间:2023-10-28 11:47:52 26 4
gpt4 key购买 nike

我希望将 curl 设置为使用代理服务器。该 url 由 html 表单提供,这不是问题。没有代理它工作正常。我在这个网站和其他网站上找到了代码,但它们不起作用。任何帮助找到正确的解决方案将不胜感激。我觉得波纹管很接近,但我错过了一些东西。谢谢。

我从这里改编的波纹管代码 http://www.webmasterworld.com/forum88/10572.htm但它会在第 12 行返回一条关于缺少 T_VARIABLE 的错误消息。

<?

$url = '$_POST[1]';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_PROXY, '66.96.200.39:80');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
curl_setopt ($ch, CURLOPT_HEADER, 1)
curl_exec ($ch);
$curl_info = curl_getinfo($ch);
curl_close($ch);
echo '<br />';
print_r($curl_info);
?>

以下内容来自curl through proxy returns no content

<?

$proxy = "66.96.200.39:80";
$proxy = explode(':', $proxy);
$url = "$_POST[1]";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
curl_setopt($ch, CURLOPT_HEADER, 1);

$exec = curl_exec($ch);

echo curl_error($ch);
print_r(curl_getinfo($ch));
echo $exec;
?>

目前在 pelican-cement.com 上直播,但也无法使用。

更新:感谢您的所有帮助,我进行了上述更改。现在它只返回一个空白屏幕。

<?

$url = $_POST['1'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_PROXY, '66.96.200.39:80');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_exec ($ch);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);

echo $curl_scraped_page;
?>

最佳答案

这是一个删除了你的错误的工作版本。

$url = 'http://dynupdate.no-ip.com/ip.php';
$proxy = '127.0.0.1:8888';
//$proxyauth = 'user:password';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
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_RETURNTRANSFER 设置为 1,以便将数据返回到 $curl_scraped_pa​​ge 变量。

我删除了第二个额外的 curl_exec($ch); 这将停止返回的变量。我将您的代理 IP 和端口合并为一个设置。

我还删除了 CURLOPT_HTTPPROXYTUNNELCURLOPT_CUSTOMREQUEST,因为它们是默认设置。

如果您不希望返回 header ,请注释掉 CURLOPT_HEADER

要禁用代理,只需将其设置为 null。

curl_setopt($ch, CURLOPT_PROXY, null);

如有任何问题,请随时提出,我每天都使用 cURL

关于php - 如何通过代理使用 CURL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5211887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com