php curl 库使用

支持http basic认证:

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "admin:admin");

去除http报头

if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == ‘200‘) {
    $header_size    = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
    $headers        = substr($response, 0, $header_size);
    $body        = substr($response, $header_size);
}

完整案例:

$ch = curl_init(‘http://172.16.100.106/cur_run_stat.xml‘);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "admin:admin");
// curl_setopt($ch,CURLOPT_PROXY,‘127.0.0.1:8888‘);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);//ÈôPHP±àÒëʱ²»´øopensslÔòÐèÒª´ËÐÐ 

// curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Content-Type: text/xml‘)); 

    // curl_setopt($ch, CURLOPT_HEADER, true);    //表示需要response header
    // curl_setopt($ch, CURLOPT_NOBODY, false); //表示需要response body

// curl_setopt($ch, CURLOPT_POST, 1);//设置为POST方式
// curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);//POST数据

// curl_setopt($ch, CURLOPT_POSTFIELDS, "$xml_data");
// 3. Ö´Ðв¢»ñÈ¡HTMLÎĵµÄÚÈÝ
$response = curl_exec($ch);

if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == ‘200‘) {
    $header_size    = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
    $headers        = substr($response, 0, $header_size);
    $body        = substr($response, $header_size);
}

curl_close($ch);
echo $body;

file_get_contents进行http basic认证

$user = "admin";
$passwd = "admin";
$opts = array(
  ‘http‘=>array(
        ‘method‘=>"GET",
        ‘timeout‘=>5,
        // "Authorization"=>"Basic YWRtaW46YWRtaW4="
        ‘header‘ => "content-type:application/x-www-form-urlencoded\r\nAuthorization:Basic ".base64_encode($user.":".$passwd)."=\r\n"// 把$auth加入到header
   )
);

$context = stream_context_create($opts);

$url = "http://172.16.100.106/cur_run_stat.xml";

         $context =  file_get_contents($url,false,$context);
         echo $context;
时间: 2024-08-25 14:46:57

php curl 库使用的相关文章

linux编译curl库的动态库so

转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) curl库是一个很强大的http开源库,c++里面能够很方便的和http服务器交互. 最近项目开始内测,开始接登录和充值的SDK,选择了使用curl库来和第三方http服务器交互. 在windows下还是很容易使用,如何使用的案例比比皆是,而且很容易就找到已经编译好的动态库进行测试,但是最后在linux下部署的时候,发现不好找已经编译好的so库文件,最后没办法只好自理更生. 下载了源码下来看,配置文件看

使用curl库

Windows下使用curl库: 到http://curl.haxx.se/下了个curl的源码下来,源码是用VC6编译的,我在VS2005下重新进行编译,居然只有一个警告. cUrl的实现代码是放在动态库中,将动态库以静态方式编译生成libcurl.lib,然后将cUrl源码目录下的"include/curl"文件夹复制到自己的项目下(如图1). 图1 接下来就可以直接调用curl库了,下面是一个网上找来的简单例子: [cpp] view plaincopy #include &qu

PHP的cURL库

原文链接:http://coolshell.cn/articles/664.html 参考链接:http://www.runoob.com/php/php-ref-curl.html 使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论 是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库.本文主要讲述如果使用这个PHP库.

PHP中的cURL库

1.cURL库 cURL库是一个非常强大的开源库,支持很多协议,包括HTTP.FTP.TELNET等,在微信开发中,我们使用它来发送HTTP请求.它给我们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS. 要使用cURL库那么你的php版本里面必须包含该库的扩展(就如你使用gd库一样) 请求原理(权威PHP指南): 2.cURL四步走 第一步:创建curl,使用curl_init()函数 第二步:设置curl,使用curl_setopt()函数 第三步:执行curl,

采用curl库

Windows通过使用curl库: 到http://curl.haxx.se/下了个curl的源代码下来,源代码是用VC6编译的,我在VS2005下又一次进行编译.竟然仅仅有一个警告. cUrl的实现代码是放在动态库中.将动态库以静态方式编译生成libcurl.lib.然后将cUrl源代码文件夹下的"include/curl"文件夹拷贝到自己的项目下(如图1). 图1 接下来就能够直接调用curl库了,以下是一个网上找来的简单样例: [cpp] view plaincopy #incl

网络爬虫2--PHP/CURL库(client URL Request Library)

PHP/CURL库功能   多种传输协议.CURL(client URL Request Library),含义是“客户端URL请求库”. 不像上一篇所用的PHP内置网络函数,PHP/CURL支持多种传输协议,包括FTP.FTPS.HTTP.HTTPS.Gopher.Telnet和LDAP.其中HTTPS,允许机器人下载使用SSL(Secure Sockets Layer)协议加密了的网页. 表单提交.模拟浏览器向服务器提交表单的功能. 基本认证技术. COOKIE. 重定向. 代理名称欺骗.

PHP的curl库代码使用

欢迎访问个人原创地址: http://www.phpthinking.com/archives/468 使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库.本文主要讲述如果使用这个PHP库. 启用 cURL 设置 首先,我们得先要确定我们的PHP是否开启了这个库,你可以通过

CURL库在C++程序中的运用浅析

最近由于要做一个爬虫项目,要对很多网站进行爬取,所以一直都在看这方面的文章.在翻阅了很多资料后,下载了一个curl库,着实对项目有了很大的帮助. 一.LibCurl基本编程框架 二.一些基本的函数 三.curl_easy_setopt函数部分选项介绍 四.curl_easy_perform 函数说明(error 状态码) 五.libcurl使用的HTTP消息头六.获取http应答头信息 七.多线程问题 八.什么时候libcurl无法正常工作 九.关于密码 十.HTTP验证 十一.代码示例 1.基

推荐一个curl库,实现整站克隆功能

有时候经常会用到一些在线手册,比如国内或国外的,有些是访问速度慢,有些是作者直接吧网站关闭了,有些是服务器总是宕机,所以还是全盘克隆到自己服务器比较爽, 这里给大家推荐接触过的一个CURL库,可以实现整站克隆功能,对于复制一些手册站点还是非常实用的. 库特点: 给定一初始连接,初始链接以下的层级所有文件会拷贝到本地. 多次克隆可以配置是否覆盖. 可以配置是否下载图片. 所有链接替换为相对链接,所以可以随便rewrite. 绝对不会出现文件覆盖等问题. 克隆结果展示(这个克隆操作几秒钟就完成了):

CURL库的宏定义列表

列表CURL库一共有17个函数 curl_close:关闭CURL会话 curl_copy_handle:复制一个CURL会话句柄,同时3复制其所有参数 curl_errno:返回最后一个错误码 curl_error:返回一个字符串,用以描述当前会话的最后一个错误 curl_exec:执行当前会话 curl_getinfo:获取特定信息 curl_init:初始化CURL会话 curl_multi_add_handle:在一个多连接会话中添加一个句柄 curl_multi_close:关闭一个多