php curl基本操作详解
cURL是与各种的服务器使用各种类型的协议进行连接和通讯的工具。它是一个强大的库支持http、https、ftp、telnet、file等协议,同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。
可能大家也用过file_get_contents()函数,但是这种做法如处理coockies、验证、表单提交、文件上传等等就力不从心了。
使用cURL的基本方法如下:
首先修改php.ini文件的设置,找到php_curl.dll,取消下在的注释extension=php_curl.dll,因为php默认是不开启cURL的。
然后就是基本步骤:
1.初始化
2.设置变量 (curl_setopt)
3.执行并获取结果 (curl_exec)
4.输出
php实例如下:
代码如下:
<?php
// 初始化
$ch = curl_init();
// 设置选项,包括URL
curl_setopt($ch, CURLOPT_URL,"http://www.baidu.com");
//是否将参数返回到页面中(0表示是1表示否)
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER,0);
//执行并获取HTML文档内容
$output = curl_exec($ch);
// 关闭url
curl_close($ch);
?>
相关推荐
-
php运行出现Call to undefined function curl_init()的解决方法
在网上下载了一个模拟登陆discuz论坛的php程序范例,试运行时出现"Call to undefined function curl_init"这个错误提示,没有定义的函数,也就是php还没打开对curl_init函数的支持.Google了一番终于解决了,方法如下: 系统环境,WIN2003 IIS6,PHP版本5.2.12 在装好PHP后,执行类似$ch = curl_init();这样的语句,出现Call to undefined function curl_init()的错误提
-
基于PHP的cURL快速入门教程 (小偷采集程序)
最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它. 为什么要用 cURL? 是的,我们可以通过其他办法获取网页内容.大多数时候,我因为想偷懒,都直接用简单的PHP函数: $content = file_get_contents("http://www.jb51.net");// or$lines = file("http://www.jb51.net");// orreadfile(http://www.jb51.
-
php使用curl抓取qq空间的访客信息示例
config.php 复制代码 代码如下: <?phpdefine('APP_DIR', dirname(__FILE__));define('COOKIE_FILE', APP_DIR . '/app.cookie.txt'); //会话记录文件define('VISITOR_CAPTURE_INTERVAL', 3); //QQ采集间隔define('VISITOR_DATA_UPLOAD_INTERVAL', '');define('THIS_TIME', time()); define(
-
php curl模拟post请求小实例
本机: 复制代码 代码如下: <?php$uri = "http://www.a.com/test.php";//这里换成你服务器的地址// 参数数组$data = array ( 'name' => 'tanteng' // 'password' => 'password'); $ch = curl_init ();// print_r($ch);curl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt ( $ch, C
-
php curl常见错误:SSL错误、bool(false)
症状:php curl调用https出错 排查方法:在命令行中使用curl调用试试. 原因:服务器所在机房无法验证SSL证书. 解决办法:跳过SSL证书检查. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 症状:php curl调用curl_exec返回bool(false),命令行curl调用正常. 排查方法: var_dump(curl_error($ch)); 返回: string(23) "Empty reply from server
-
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
在通常情况下,我们使用 CURL 来提交 POST 数据的时候,我们已经习惯了这样的写法: 复制代码 代码如下: curl_setopt( $ch, CURLOPT_POSTFIELDS,$post_data); 但是这样的写法在有时候并不会很好用,可能会得到服务器返回的 500 错误.但是我们尝试在使用 Socket 方式向服务器提交数据的时候,我们会得到非常正确的结果.例如我们在服务器上面存在一个如下的 PHP 文件: 复制代码 代码如下: <?php print_r($_SERVER);?
-
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
curl().file_get_contents().snoopy.class.php这三个远程页面抓取或采集中用到的工具,默迹还是侵向于用snoopy.class.php,因为他效率比较高且不需要服务器特定配置支持,在普通虚拟主机中即可使用,file_get_contents()效率稍低些,常用失败的情况.curl()效率挺高的,支持多线程,不过需要开启下curl扩展.下面是curl扩展开启的步骤: 1.将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssleay
-
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
废话不多说直接上代码 复制代码 代码如下: /********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST.HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header: 头文件 * $post: post方式提交 array形式 * $cookies: 0默认无cookie,1为设置,2为获取 */public function curl_allinf
-
PHP curl 获取响应的状态码的方法
PHP curl可以从服务器端模拟一个http请求,例如抓取网页.模拟登陆等.根据选项设置,可以在curl_exec的返回结果中获取到响应头和body,但这没有响应的状态吗.想要获取状态码,需要在执行curl_exec后再通过curl_getinfo来获取.例如: 复制代码 代码如下: $ch = curl_init (); curl_setopt($ch, CURLOPT_URL, 'http://www.google.com.hk'); curl_setopt($ch, CURLOPT_TI
-
解析PHP 使用curl提交json格式数据
复制代码 代码如下: $data = array("name" => "Hagrid", "age" => "36");$data_string = json_encode($data); $ch = curl_init('http://api.local/rest/users');curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_seto
-
PHP扩展CURL的用法详解
实现的功能: 1.实现远程获取和采集内容 2.实现PHP 网页版的FTP上传下载 3.实现模拟登陆:去一个邮件系统,curl可以模拟cookies 4.实现接口对接(API),数据传输等:通过一个平台发送短信啊,抓取和传递所传输的信息. 5.实现模拟Cookie等:登陆的状态下才可以操作一些属性. 如何使用CURL功能: 默认情况加PHP是不支持CURL的,需要在php.ini中开启该功能 ;extension=php_curl.dll前面的分号去掉 1 整个操作过程中第一步是用cur_ini
-
在PHP中使用curl_init函数的说明
复制代码 代码如下: $ch = curl_init(); $c_url = 'http://www.baidu.com'; $c_url_data = "product_&type=".$type.""; curl_setopt($ch, CURLOPT_URL,$c_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_s
-
PHP中使用cURL实现Get和Post请求的方法
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它. 2.基本结构 在学习更为复杂的功能之前,先来看一下在PHP中建立cURL请求的基本步骤: (1)初始化 curl_init() (2)设置变量 curl_setopt() .最为重要,一切玄妙均在此.有一长串cURL参数可供设置,它们能指定URL请求的各个细节.要一次性
-
php的curl实现get和post的代码
curl 支持SSL证书.HTTP POST.HTTP PUT .FTP 上传,kerberos.基于HTT格式的上传.代理.cookie.用户+口令证明.文件传送恢复.http代理通道就最常用的来说,是基于http的get和post方法. 代码实现: 1.http的get实现 复制代码 代码如下: $ch = curl_init("http://www.jb51.net/") ; curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; cur
-
PHP CURL获取返回值的方法
在CURL中有一个参数 CURLOPT_RETURNTRANSFER : 复制代码 代码如下: curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); 默认是 0 直接返回获取的输出的文本流,有时候,我们要拿返回值来做判断或者做其他用途的话那就不太好了. 幸好CURLOPT_RETURNTRANSFER 可以设置,如果设置成CURLOPT_RETURNTRANSFER 1: 复制代码 代码如下: curl_setopt($ch, CURLOPT_RETURNT
-
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
复制代码 代码如下: /** * CURL请求 * @param String $url 请求地址 * @param Array $data 请求数据 */ function curlRequest($url,$data='',$cookieFile=''){ $ch = curl_init(); $option = array( CURLOPT_URL => $url, CURLOPT_HEADER =>0, CURLOPT_RETURNTRANSFER => 1, ); if($co
随机推荐
- 分享8款优秀的 jQuery 加载动画和进度条插件
- Java中的PrintWriter 介绍_动力节点Java学院整理
- Java编程探索之泛型擦除实例解析
- asp.net Repeater取得CheckBox选中的某行某个值
- PHP按行读取、处理较大CSV文件的代码实例
- 完美解决Thinkphp3.2中插入相同数据的问题
- PHP扩展编写点滴 技巧收集
- Android React-Native通信数据模型分析
- 当mysqlbinlog版本与mysql不一致时可能导致出哪些问题
- struts2 action跳转调用另一个程序
- EPSON打印机 连供墨水系统 维修有哪些保养窍门第1/2页
- C语言在头文件中定义const变量详解
- sqlserver 局部变量的使用
- jQuery EasyUI 组件加上“清除”功能实例详解
- php判断对象是派生自哪个类的方法
- Java内部类的全限定名规律代码示例
- python如何将图片转换为字符图片
- 在Linux中如何轻松删除源安装的软件包
- Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移
- Android实现APP在线下载更新