- 浏览: 300693 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (148)
- wicket (3)
- 算法,数据结构 (1)
- 其他 (1)
- jdbc (2)
- mysql (10)
- php (18)
- gwt中文文档 (0)
- jquery (2)
- smil教程 (2)
- 开源知识 (1)
- mms彩信 (2)
- java (12)
- centos (3)
- linux (2)
- php apc (1)
- java hibernate (4)
- xampp (1)
- tomcat (1)
- css调试 (3)
- jasperReport (3)
- js 效果 (3)
- apache (1)
- eclipse (6)
- ss7 (8)
- java log log4j (2)
- java jndi (1)
- ldap (2)
- activemq (3)
- spring security (4)
- java 注解 (0)
- thinking in java (3)
- hibernate (1)
- maven (1)
- wap push (2)
- memcached (7)
- java servlet (2)
- flash game (0)
- financial knowledge (6)
- protect eyes (1)
最新评论
-
u012359453:
我是Android开发的,最近需要做一个消息转发的后台,我写好 ...
使用Java Service Wrapper将java程序作为linux服务并且开机自动启动 -
zhcheng:
我就是按照你这个配置的,别的地方都没有问题,只有在使用标签的时 ...
spring security3.0的ACL使用例子 -
xjjaid13:
...
js实现图片左右滚动 -
bhdweb:
项目中的角色名是死的?直接用户注解写在方法上?
spring security3.0的ACL使用例子 -
hw1287789687:
根本原因:我实体类中的类型是raw,没法直接实例化的类型。pr ...
hibernate错误:Could not determine type for: java.util.Set
原文地址:http://www.cmx8.cn/curl.html
使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网
页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内
容,cURL 是一个功能强大的PHP库。 PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭一个curl会话 curl_init()函数的作用初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址。 例子一: 基本例子
curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数
curl_errno — 返回一个包含当前会话错误信息的数字编号
curl_error — 返回一个包含当前会话错误信息的字符串
curl_exec — 执行一个curl会话
curl_getinfo — 获取一个curl连接资源句柄的信息
curl_init — 初始化一个curl会话
curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源
curl_multi_close — 关闭一个批处理句柄资源
curl_multi_exec — 解析一个curl批处理句柄
curl_multi_getcontent — 返回获取的输出的文本流
curl_multi_info_read — 获取当前解析的curl的相关传输信息
curl_multi_init — 初始化一个curl批处理句柄资源
curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected"
curl_setopt_array — 以数组的形式为一个curl设置会话参数
curl_setopt — 为一个curl设置会话参数
curl_version — 获取curl相关的版本信息
curl_exec()函数的作用是执行一个curl会话,唯一的参数是curl_init()函数返回的句柄。
curl_close()函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄。
// 初始化一个 cURL 对象 $curl = curl_init(); // 设置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, 'http://www.gvfish.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);
例子二: POST数据 sendSMS.php,其可以接受两个表单域,一个是电话号码,一个是短信内容。
$phoneNumber = '13812345678'; $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.gvfish.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);
例子三:使用代理服务器
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.gvfish.com'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); curl_setopt($ch, CURLOPT_PROXY, 'proxy.lxvoip.com:1080'); curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password'); $data = curl_exec(); curl_close($ch);
例子四: 模拟登录 Curl 模拟登录 discuz 程序,适合DZ7.0,将username改成你的用户名,userpass改成你的密码就可以了.
/** * Curl 模拟登录 discuz 程序 * 尚未实现开启验证码的的论坛登录功能 */ !extension_loaded('curl') && die('The curl extension is not loaded.'); $discuz_url = 'http://www.gvfish.com';//论坛地址 $login_url = $discuz_url .'/logging.php?action=login';//登录页地址 $get_url = $discuz_url .'/my.php?item=threads'; //我的帖子 $post_fields = array(); //以下两项不需要修改 $post_fields['loginfield'] = 'username'; $post_fields['loginsubmit'] = 'true'; //用户名和密码,必须填写 $post_fields['username'] = 'lxvoip'; $post_fields['password'] = '88888888'; //安全提问 $post_fields['questionid'] = 0; $post_fields['answer'] = ''; //@todo验证码 $post_fields['seccodeverify'] = ''; //获取表单FORMHASH $ch = curl_init($login_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $contents = curl_exec($ch); curl_close($ch); preg_match('/<input\s*type="hidden"\s*name="formhash"\s*value="(.*?)"\s*\/>/i', $contents, $matches); if(!empty($matches)) { $formhash = $matches[1]; } else { die('Not found the forumhash.'); } //POST数据,获取COOKIE $cookie_file = dirname(__FILE__) . '/cookie.txt'; //$cookie_file = tempnam('/tmp'); $ch = curl_init($login_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); curl_exec($ch); curl_close($ch); //带着上面得到的COOKIE获取需要登录后才能查看的页面内容 $ch = curl_init($get_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); $contents = curl_exec($ch); curl_close($ch); var_dump($contents);
发表评论
-
php5.3.0以下使用fileinfo获得文件的mime类型
2010-10-22 16:59 1314php5.3.0以下要获得文件的mime类型,一般的方 ... -
php中preg_match和preg_match_all的区别
2010-05-25 17:52 6739preg_match和preg_match_all的区别为: ... -
PHP preg_replace的使用
2010-05-25 17:36 2403preg_replace -- 执行正则表达式的搜索和替换 ... -
php中从html中提取图片路径,并且替换的方法
2010-05-25 17:06 5741思路是这样: 先用正则表达式获取IMG标签,然后把每个IMG ... -
[转]Strcmp以区分大小写的方式比较两个字符串
2010-04-12 18:41 2314以区分大小写的方式比较两个字符串 Strcmp()函数对两个 ... -
[转]使用APC加速PHP:APC配置
2010-03-09 15:51 1529Alternative PHP Cache(APC) ... -
php中数组和对象相互转换
2009-11-06 16:23 51771、强制转换对象为数组 $arr = (array)$obj ... -
如何去掉数组里的某个元素
2009-11-05 10:05 1482例子如下所示: $array=array(a,b,c,d); ... -
PHP中英文混排串的字节数(即占位符)的计算
2009-10-29 10:18 2180首先 比较strlen和mb_strlen $s ... -
PHP调用Webservice实例
2009-10-29 09:18 2767方法一:直接调用 /****************** ... -
NuSoap调用WebService出现乱码的解决办法
2009-10-29 09:17 4017NuSoap是PHP环境下的WebService编程工具,用于 ... -
PHP接口示例程序
2009-10-26 15:59 2429原文地址:http://shadowzsc.spaces.li ... -
php读取二进制文件流生成图片
2009-10-24 14:12 5938$imgString为二进制文件流 $fil ... -
PHP 5的抽象类和接口语法
2009-10-23 17:07 1103abstract class AbstractClass { ... -
在PHP中使用Curl
2009-10-22 15:00 1351原文地址:http://hi.baid ... -
PHP 序列化(serialize)格式详解
2009-09-25 17:12 2268来源:http://www.coolcode.cn/?p=17 ... -
PHP5中的this,self和parent关键字详解
2009-09-18 15:15 1298上面三个关键字: this,sel ...
相关推荐
下面我们以一个例子来展示这个过程。 假设本地有一个文本文件log.txt,其路径为”/www/test/log.txt”,内容如下: this is a file for test hello PythonTab! 为了把这个文件上传给服务端的脚本http://you
用来替换WAMP server下的php_curl.dll,解决加载curl报错或无法加载问题。下载解压后,覆盖wamp\bin\php\php5.4.3\ext目录下对应文件,重启apache即可...另注意,这个对应的是PHP 5.3.13,若版本不对也会无法加载curl.
php扩展 php_curl 其中包括libeay32.dll,php_curl.dll和ssleay32.dll是开启php_curl的必备条件
使用函数之前我们要需要把php curl模块打开(libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll) 开启php curl函数库的步骤 1).去掉windows/php.ini 文件里;extension=php_curl.dll前面的; /*用 echo phpinfo...
php curl模仿form表单提交图片或文件 用的tp5做的例子
curl命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解...
php curl中长连接实现,对于同一个域名和端口的访问,可以做到在同一个进程中复用同一个连接,特别是对于经常内网访问的地址,性能提升很大!
php curl 详解 php curl 详解 php curl 详解 php curl 详解
主要介绍了PHP封装CURL扩展类,实例分析了基于curl发送post、get请求及操作cookie等相关技巧 编码规范 * @class 类名首字母大写,类名为多个单词, 每个大字首字母大写 eg: class Curl , class CurlPage * @variable...
php_curl_使用实例 curl的使用方法 curl 模拟post提交 curl 设置 UA、cookie 等 都有纤细例子
php curl 报错 php 导入整数 cacert.pem
php curl 自动微博登陆,使用curl,
PHP CURL详解
php curl上传或下载文件时创建进度条
主要介绍了php的curl封装类用法,以实例形式较为详细的讲述了curl封装类及其使用方法,并总结了GET与POST的用法。 使用函数之前我们要需要把php curl模块打开(libeay32.dll, ssleay32.dll, php5ts.dll,...
php curl远程post上传
一个PHP curl get post通用类,curl 通用方法 。。get /post 传送数据,设置发送方式 0 get 1 post。具有很好的参考价值,朋友们如果喜欢可以下载,如果有更好的curl类可以发布到我们php中文网,大家一起学习交流。
shell-curl小例子,md5加密,shell时间处理
php curl 多线程实现-php程序员的笔记
windows下php7.3官方自带的php_curl.dll好像有问题,增加扩展curl经常失败