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()?>
贴片电阻与贴片电感有什么区别
荣耀Note9什么时候上市?华为荣耀Note9最新消息:荣耀Note9麒麟965+超窄边框+全面屏,价格2799
MSP430开发环境建立
越疆科技与清华大学人工智能研究院智能机器人中心签署全面战略合作协议
浅析车载以太网测试内容和测试方法
PHP中怎么使用HTTP代理
折叠手机引爆产业链 天马将引领行业发展
深入了解IO模型的内部玄机
Amphenol SurLok Plus™连接器为中国“新基建”推进过程发挥更大作用
到2020年,国内LED照明驱动电源市场需求规模有望达到389亿元
目前Micro LED所面临的的技术瓶颈共分成六个面向
品牌蓝牙耳机有哪些,六款配置超高平价蓝牙耳机推荐
MOS管的三个极怎么判定?
合肥清溢光电有限公司高精度掩膜版项目奠基仪式在合肥市隆重举行
5G带来便利的同时,我更关心5G套餐产生的费用!
新型氢动力垂直起飞降无人机,采用氢燃料电池作为动力
区块链与币圈都是骗子与传销吗?
意法半导体通过即插即用模块使物联网传感更容易
如何将变量存储在指定内存地址 (基于Keil MDK-ARM)
VOCs在线监测仪可控制工业废气排放