作品发布     邀请码    设为首页  收藏 

当前位置:文章编程 → 文章内容 >> 使用curl连接代理服务器访问网站


使用curl连接代理服务器访问网站

更新时间:2012-2-18 15:47:26   作者:华中帝国整理  来源:华中帝国
php5安装包默认已带有curl模块,但尚未加载,如果要加载curl模块也很简单,修改php.ini文件,去掉extension=php_curl.dll前的";",在把php_curl.dll,libeay32.dll,ssleay32.dll三个文件拷到系统目录,重启web服务,o ...
php5安装包默认已带有curl模块,但尚未加载,如果要加载curl模块也很简单,修改php.ini文件,去掉extension=php_curl.dll前的";",在把php_curl.dll,libeay32.dll,ssleay32.dll三个文件拷到系统目录,重启web服务,ok,curl已可以使用了,

    一: 由于curl有太多的参数,现在就拿些本章用到的列出来;

   CURLOPT_PROXY 如果你要使用代理,就要设置这个参数,<设置通过的HTTP代理服务器>

   CURLOPT_PROXYPORT 设置代理服务器端口,你也可以用CURLOPT_PROXY设置服务器和端口

   CURLOPT_PROXYUSERPWD 使用代理服务器用户密码[user:pwd]

   CURLOPT_URL 设置要获取的url

   CURLOPT_USERAGENT 在'http'请求中包含一个'user-agent'头

   CURLOPT_REFERER 设置header中'Referer: '部分的值,有些web 服务没有此项是不能访问的;

   CURLOPT_AUTOREFERER 自动设置header中'Referer:' 部分,一个非0值

    CURLOPT_RETURNTRANSFER 将curl_exec()获取的信息已文本流的方式返回而不是直接输出,设置一个非0值

   CURLOPT_HEADER 是否获取服务器的头信息;

CURLOPT_FOLLOWLOCATION 启用时会将服务器服务器返回的“Location:”放在header中递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量

二:几个重要的函数;

curl_init()初始化一个curl会话,curl_init()函数的唯一参数是可选的,表示一个url地址

curl_setopt() 为curl会话设置参数,也是最重要的一个函数;

curl_exec() 作用是执行一个curl会话,唯一的参数是curl_init()返回的句柄

curl_close() 函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄

三:例子上场;

<?
function curl_string ($url,$user_agent,$proxy){
       $ch = curl_init();
       curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);
       curl_setopt ($ch, CURLOPT_PROXY, $proxy);
       curl_setopt($ch,CURLOPT_PROXYUSERPWD,"user:pwd");
       curl_setopt ($ch, CURLOPT_URL, $url);
       curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
       curl_setopt($ch,CURLOPT_REFERER,"www.baidu.com");
       //curl_setopt ($ch, CURLOPT_HEADER, 1);
       curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
       curl_setopt ($ch, CURLOPT_TIMEOUT, 120);
       $result = curl_exec ($ch);
       curl_close($ch);
       return $result;

}

$url_page = "http:///";
$user_agent = "Mozilla/4.0";
$proxy = "http://proxy";
$string = curl_string($url_page,$user_agent,$proxy);
echo $string;
?>

以上例子经过实践ok;

   免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

责任编辑:华中帝国        



本文引用网址: 

使用curl连接代理服务器访问网站的相关文章
发表评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码