PHP——curl使用代理
Posted kuaidaili
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP——curl使用代理相关的知识,希望对你有一定的参考价值。
环境搭建
- PHP
- curl
安装curl库
# ubuntu/debian系统
apt-get install php5-curl
# centos系统
yum install php-curl
确认环境。
php -v
代码样例
使用代理
<?php
//要访问的目标页面
$page_url = "http://dev.kdlapi.com/testproxy";
//代理服务器
$proxy = "47.115.5.19:16816";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $page_url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//设置代理
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
//自定义header
$headers = array();
$headers[] = 'User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0);';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//自定义cookie
curl_setopt($ch, CURLOPT_COOKIE,'');
curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); //使用gzip压缩传输数据让访问更快
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
echo $result;
echo "
fetch ".$info['url']."
timeuse: ".$info['total_time']."s
";
?>
运行下
php curl.php
进阶学习
以上是关于PHP——curl使用代理的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP 时使用 socks5 代理的 cURL 请求失败,但它通过命令行工作