您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

php curl 学习笔记摘要

来源:未知 责任编辑:责任编辑 发表时间:2014-03-23 22:27 点击:

 

使用curl 能快捷的抓取网页、模拟POST、GET请求,当然也不仅仅是HTTP协议的一些封装,还支持FTP、代理、HTTPS、LDAP等应用。

curl并不是PHP特有的,很多语言中都有,一个东西好用,自然就会被推广开,就像很多年前的log4j一样的道理,刚开始是JAVA版本,随后也出现log4c,log4c++⋯⋯curl 也是一样的道理。curl 并非PHP默认支持,需要在配置里打开此项的加载extension= php_curl.dll 在linux 下就记得编译PHP的时候./configure 加上参数-with-curl。要查看curl 扩展是否打开,通过phpinfo(); 应该是可以看到的。

 

1) 基本用法(调用的一般顺序)

 

 

curl_init : 初始化,

curl_setopt :设置参数选项

 

curl_exec:执行当前curl对象

 

curl_close:关闭当前curl对象

 

示例:访问下面代码另存为的PHP网页,我们看到了126 邮箱的网页。

 

 

$curl = curl_init();

 

// 设置你需要抓取的URL

curl_setopt($curl, CURLOPT_URL, 'http://126.com');

 

// 设置header 是否显示头部信息

//curl_setopt($curl, CURLOPT_HEADER, 1);

 

// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。

//curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

 

// 运行cURL,请求网页

$data = curl_exec($curl);

 

// 关闭URL请求

curl_close($curl);

 

// 显示获得的数据

var_dump($data);

2) POST 方式发送数据

﹤?php

$phoneNumber = '13912345678';

$message = 'This message was generated by curl and php';

$curlPost = 'pNUMBER='  . urlencode($phoneNumber) . '&MESSAGE=' . urlencode($message) . '&SUBMIT=Send';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/sendSMS.php');

curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);

$data = curl_exec();

curl_close($ch);

?﹥

3) 代理服务器

﹤?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');

curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);

curl_setopt($ch, CURLOPT_PROXY, 'fakeproxy.com:1080');

curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');

$data = curl_exec();

curl_close($ch);

?﹥

4) 关于SSL和Cookie

 

关于SSL也就是HTTPS协议,你只需要把CURLOPT_URL连接中的http://变成https://就可以了。当然,还有一个参数叫CURLOPT_SSL_VERIFYHOST可以设置为验证站点。

 

关于Cookie,你需要了解下面三个参数:

 

CURLOPT_COOKIE,在当面的会话中设置一个cookie

 

CURLOPT_COOKIEJAR,当会话结束的时候保存一个Cookie

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • PHP测试
  • 十天学会php之第六天
  • 几种显示数据的方法的比较
  • 使用xmlhttp为网站增加域名查询功能
  • PHP+MYSQL+Javascript数据库查询结果的动态显示
  • 查找数组中指定键名的值
  • 用redis实现跨服务器session
  • 用新浪微博接口发送图片微博失败的原因
  • smarty局部缓存技术[源码分析]
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1