【问题标题】:php curl proxy request blockedphp curl代理请求被阻止
【发布时间】:2019-03-18 10:31:17
【问题描述】:

我想在我的服务器中获取这个 url "http://namnak.com" 的网页,但是这个 url 阻止了来自我的服务器的 curl 请求这是我的代码:

<?php
$proxy = "138.68.173.29 :8080";
$proxy = explode(':', $proxy);
$url = "http://namnak.com";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');

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;

【问题讨论】:

    标签: php curl proxy


    【解决方案1】:

    您必须定义要使用的代理类型,例如 SOCKS5:

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 
    5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
    
    curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
    curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
    curl_setopt($ch, CURLOPT_PROXYTYPE, CURL_SOCKS5);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    

    先尝试一下,我们会从那里解决的!

    编辑:在某些情况下,SOCKS5 没有在 curl 中定义,你可以使用它等于 7 的值

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 2015-09-11
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 1970-01-01
      • 2015-07-04
      • 1970-01-01
      相关资源
      最近更新 更多