php - PHP cURL 在 CONNECT 后从代理收到 HTTP 代码 407
问题描述
我有php curl
代理问题。
下面是我的代码:
<?php
$proxylist = file('proxy.txt');
$random_proxy = $proxylist[mt_rand(0,count($proxylist)-1)];
$pinfos = explode(':', $random_proxy);
$proxyipport = $pinfos[0].':'.$pinfos[1];
$proxyuserpwd = $pinfos[2].':'.$pinfos[3];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://google.com');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($ch, CURLOPT_PROXY, $proxyipport);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyuserpwd);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error: ' . curl_error($ch).'<br/>';
}
curl_close($ch);
echo $result;
?>
代理的格式proxy.txt
是ip:port:user:pass
并且所有代理都在工作。
问题是当我在 and 中使用$proxyipport
and时,curl 结果抛出了错误。但是,当我用实际,替换这些变量时,它正常工作。我也做了一个of and它向我展示了准确和预期的结果。$proxyuserpwd
CURLOPT_PROXY
CURLOPT_USERPWD
Received HTTP code 407 from proxy after CONNECT
ip:port
user:pass
echo
$proxyipport
$proxyuserpwd
ip:port
user:pass
有人可以告诉我做错了什么以及如何解决吗?提前致谢!
解决方案
很可能是 newline \n
,所以尝试:
$proxylist = file('proxy.txt', FILE_IGNORE_NEW_LINES);
如果它是另一个隐藏字符或 Windows 格式文件,那么\r
您可以尝试:
$pinfos = explode(':', $random_proxy);
$pinfos = array_map('trim', $pinfos);
推荐阅读
- julia - Julia - 以编程方式生成函数数组
- rust - 用 Rust 中的孙子替换 BST 的子节点
- logging - 缺少自定义解决方案的 SharePoint 2013 ULS 日志跟踪
- c# - 在以开头的同一行中查找多个 RegEx 模式
- pdf - 自动从 Power BI 文件导出为 PDF
- django - DoesNotExist at /folder/ 用户数据匹配查询不存在。DJango 问题
- python - 我收到一个基本 opencv 代码加载和显示图像的错误
- kubernetes - 入口类的入口控制器名称
- javascript - JavaScript - 浮点数从 1 到 10 的数组,带小数
- python - 获取“创建版本失败。尝试在 Google Cloud AI 平台上创建自定义模型时在 AI 平台上检测到错误模型