PHP——curl使用代理

Posted kuaidaili

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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配置为使用代理服务器来实现curl的功能

PHP 使用 fsockopen/cURL 设置浏览器代理

使用 PHP 时使用 socks5 代理的 cURL 请求失败,但它通过命令行工作

如何使用 curl 和 php 连接到安全 (https) 代理?

PHP使用curl的问题?

PHP cURL 实时代理(流文件)