如何在PHP代码中使用HTTP代理IP。
以下代码主要围绕第一次接触HTTP代理IP的PHP新手来写。(步骤注释清晰)
直接把下面示例代码中的HTTP代理API,替换成你后台生成的代理API链接,就可以跑起来了。
以下是一个示例代码,只是一个基础的演示,具体的代码还是要根据你业务的实际情况去写的。
示例代码中的HTTP代理IP,我使用的是华益云的HTTP代理,注册就能白嫖1万个高匿爬虫IP,有效期是一年,对于调试代码来说这个时间是非常的友好。(步骤注释清晰)
华益云-企业级HTTP爬虫代理IP供应商-点我免费领取示例代码demo中同款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代理
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
HTTP
+关注
关注
0文章
467浏览量
30324 -
代码
+关注
关注
30文章
4556浏览量
66819 -
PHP
+关注
关注
0文章
452浏览量
26454
发布评论请先 登录
相关推荐
如何在EDK中使用自己的 IP核?
如何在EDK中使用自己的 IP核呢? 这是很多人梦寐以求的事情。然而在EDK以及ISE的各种文档中对此却遮遮掩掩,欲语还休。
发表于 02-11 13:35
•2017次阅读
HTTP代理应该怎么选择?
在互联网中使用HTTP代理IP确实给我们的日常生活带来很多便利,也正因为如此,市面上的同款产品越来越多,很多用户在选择的时候难免陷入困境,不知道该如何下手才好。
发表于 01-04 17:37
•267次阅读
python代码中如何使用HTTP代理
华益云HTTP代理API有效期是一年,也就是说一年内这1万IP用完就没了,如果你一年都用不完那到时候剩余IP才会被清零,对于调试代码来说时间
评论