gpt4 book ai didi

php - 通过代理 curl 不返回任何内容

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:39:56 24 4
gpt4 key购买 nike

我现在正在编写一个 PHP 脚本,它向我们学校的服务器发送请求,以获取有关不同类(class)的类(class)规模的实时信息。当我不使用代理时,脚本运行得非常好,返回一个包含类(class)编号和可用座位的字符串。但是,我想为学生提供这项服务,我担心如果我发出太多请求,我的 ip 会被封锁。所以我试图通过代理来做到这一点,但没有成功。一旦我将 CURLOPT_HTTPPROXYTUNNEL 和 CURLOPT_PROXY 字段添加到我的请求中,就不会返回任何内容。我什至不确定此时如何解决它,因为我没有收到任何类型的错误消息。有谁知道发生了什么事或至少如何排除故障?

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$proxy = explode(':', $proxy);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'tempcookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'tempcookie.txt');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_REFERER, $ref);
$exec = curl_exec($ch);

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

用于测试的代理:75.147.173.215:8080

最佳答案

如果我必须使用带有 curl 的代理,我会使用以下代码:

$proxy = "127.0.0.1:8080"; // or something like that

if($proxy !== null){

// no need to specify PROXYPORT again
curl_setopt($ch, CURLOPT_PROXY, $proxy);

// to make the request go through as though proxy didn't exist
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);

}

关于php - 通过代理 curl 不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4802816/

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