0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PHP中怎么使用HTTP代理

华益云HTTP爬虫IP 来源:华益云HTTP爬虫IP 作者:华益云HTTP爬虫IP 2022-09-01 14:38 次阅读

PHP中怎么使用HTTP代理。

以下代码主要围绕第一次接触HTTP代理IP的PHP新手来写。(步骤注释清晰)

直接把下面示例代码中的HTTP代理API,替换成你后台生成的代理API链接,就可以跑起来了。

以下是一个示例代码,只是一个基础的演示,具体的代码还是要根据你业务的实际情况去写的。

示例代码中的HTTP代理IP,我使用的是华益云的HTTP代理,注册就能白嫖1万个高匿爬虫IP,有效期是一年,对于调试代码来说这个时间是非常的友好。(步骤注释清晰)

示例代码demo中同款HTTP代理API-点我免费领取10000个高匿IP

打开代理API,获取里面的IP,使用IP访问目标网站,其实代码中就是执行这个过程而已,然后加了几个错误判断有助于代码的稳定运行。(步骤注释清晰)

");
            $content = requestGet($url, $userAgent, $px);
            break;
        }catch(Exception $e){
            echo($e);
            if (count($outPutProxy)==0){
                // 判断下代理还有没有,没有的了就重新获取下
                $outPutProxy = getProxy($proxyUrl, $userAgent);
            }
        }
    }
    echo("
");
    echo("
");
    // htmlspecialchars 使用此函数不会渲染为网页
    // 这便是响应内容了
    echo(htmlspecialchars($content));

}
function getProxy($proxyUrl, $userAgent){
    $proxyIps = "";
    $outPutProxy = [];
    try{
        $proxyIps = requestGet($proxyUrl, $userAgent, array());
        # {"code":3002,"data":[],"msg":"error!用户名或密码错误","success":false}
        if (strpos($proxyIps, "{", 0) > -1){
            throw new Exception($proxyIps);
        }
        $eachIps = explode("\r\n", $proxyIps);
        foreach ($eachIps as $value){
            $currentIp = explode(":", $value);
            array_push($outPutProxy, array( $currentIp[0], $currentIp[1]));
        }
        
    }catch(Exception $e){
        echo($e);
    }
    // var_dump($outPutProxy);
    echo("总共获取了");
    echo(count($outPutProxy));
    echo("个代理");
    echo("
");
    return $outPutProxy;
}
function requestGet($url, $userAgent, $proxy){
  $headerArray = array("User-Agent:$userAgent;");
  $ch = curl_init();
    # $headerArray =array("Content-type:application/json;","Accept:application/json");
  // 设置要请求的url
  curl_setopt($ch, CURLOPT_URL, $url);
  // 设置整体最大超时时间
  curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  // 设置最大连接超时时间
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
  // 设置不验证ssl证书
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
  // 设置不验证ssl证书
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
  // 这样设置的话我们可以拿到响应内容并且可以保存在一个变量里
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  // 设置请求头,比如 user-agent,cookie,referer啥的
  curl_setopt($ch, CURLOPT_HTTPHEADER, $headerArray);

  if (count($proxy) != 0){
    // 设置代理
    // curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1");
    // curl_setopt($ch, CURLOPT_PROXYPORT, "10809");
    curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
    curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
  }
  // 执行发送请求
  $result = curl_exec($ch);
  curl_close($ch);
  return $result;
}
main()
?>
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HTTP
    +关注

    关注

    0

    文章

    467

    浏览量

    30322
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66807
  • PHP
    PHP
    +关注

    关注

    0

    文章

    452

    浏览量

    26454
收藏 人收藏

    评论

    相关推荐

    http代理的分类

    HTTP代理按安全性怎么分呢?许多人之所以会选择使用HTTP代理上网主要是为了保护自己的个人信息安全,不希望真实的IP地址在链接网络的时候被服务器记录,
    发表于 12-20 17:25

    爬虫使用http代理的目的

    不能保证一定可用。亿牛云HTTP代理有很多可用稳定的ip资源,可以满足大量的需求,这里可以给大家一个小技巧,在一个ip没有被禁止访问之前,及时换下一个ip,然后可以循环使用,节省一点资源。2
    发表于 02-04 12:37

    ESP8266如何使用HTTP + PHP + MySQL从BD获取数据?

    的问题:How do I return data for the ESP8266 client from the PHP code。 我是 HTTP 请求和 Web 代码方面的菜鸟。 我将不胜感激在这个方向上的任何答案或链接。
    发表于 05-19 08:35

    如何在java代码中使用HTTP代理IP

    如何在java代码中使用HTTP代理IP。
    的头像 发表于 08-04 15:38 1918次阅读

    如何在python代码中使用HTTP代理IP

    如何在python代码中使用HTTP代理IP。
    的头像 发表于 08-04 15:46 1041次阅读

    如何在PHP代码中使用HTTP代理IP

    如何在PHP代码中使用HTTP代理IP。
    的头像 发表于 08-04 16:08 2111次阅读

    java中怎么使用HTTP代理

    java中怎么使用HTTP代理,华益云python爬虫ip
    的头像 发表于 09-01 14:31 1372次阅读

    python中怎么使用HTTP代理

    python中怎么使用HTTP代理,华益云高匿爬虫代理ip
    的头像 发表于 09-01 14:36 1379次阅读

    go语言中怎么使用HTTP代理

    go语言中怎么使用HTTP代理
    的头像 发表于 09-01 14:41 2174次阅读

    e易语言中怎么使用HTTP代理

    e易语言中怎么使用HTTP代理
    的头像 发表于 09-01 14:42 3256次阅读

    c语言中怎么使用HTTP代理

    如何再c语言代码中使用HTTP代理IP。
    的头像 发表于 09-01 14:44 1122次阅读

    c#语言中怎么使用HTTP代理

    c#语言中怎么使用HTTP代理
    的头像 发表于 09-01 14:46 1799次阅读

    python代码中如何使用HTTP代理

    HTTP代理就是介于浏览器和web服务器之间的一台服务器,连接代理后,浏览器不再直接向web服务器取回网页,而是向代理服务器发出request信号,
    的头像 发表于 09-13 09:24 1058次阅读

    如何在python代码中使用HTTP代理IP

    如何再python代码中使用HTTP代理IP。
    的头像 发表于 09-13 09:25 774次阅读

    http代理的作用如下所示

    经常使用网络的人可能会常常听到这样的一个词:http代理。那么它真正的作用很多人都是模棱两可的,在这里给大家普及一下在我们大部分人的网络活动中,http是比较常见的网络协议,因而http
    发表于 09-15 13:00 345次阅读