1.基本请求

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com");
curl_setopt($ch, CURLOPT_HEADER, false); // 如果返回乱码,可以把false改为 array('content-type: application/x-www-form-urlencoded; charset=UTF-8')
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //为true时,会把结果存起来,为false时,会直接把结果输出
$result=curl_exec($ch);
curl_close($ch);
?>

2.使用代理

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_PROXY, 125.21.23.6:8080);
//url_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password');如果需要代理账号密码时带上
$result=curl_exec($ch);
curl_close($ch);
?>

3.带上数据

<?php
$ch = curl_init();
$data = array('name' => 'test', 'sex'=>1,'birth'=>'20101010');
$data = http_build_query($data); // 生成 url_encode 之后的请求字符串
curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com');
// get请求方式 直接把参数拼接到 url 后面,把下面两句去掉
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
?>

4.模拟登陆,保存cookie

<?php
$cookie_jar = $_SERVER['DOCUMENT_ROOT'].'/test.cookie'; // cookie文件目录
$url = "http://www.baidu.com/doLogin";
$data = array('username'=>'username','passowrd'=>'password');
$data = http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
$content = curl_exec($ch);
curl_close($ch);
// 接下来进入需要登录的页面时带上 $cookie_jar 就可以直接进入了
?>

5.带上cookie进入需要登录的页面

<?php$http_hearder = array('Content-type:application/json;charset=UTF-8','Authorization:Basic YWRtaW46YWRtaW4=');
$cookie_jar = $_SERVER['DOCUMENT_ROOT'].'/test.cookie'; // cookie文件目录
$ch = curl_init ();
curl_setopt($ch, CURLOPT_HTTPHEADER, $http_hearder);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// curl_setopt($ch, CURLOPT_COOKIE, "devckie=test"); // 设置cookie
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 不验证HOST
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 不验证证书
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true ); // 返回数据
$result = curl_exec ( $ch );
curl_close ( $ch );
?>

php中的curl常用例子的更多相关文章

  1. php curl常用的5个例子

    转载:http://www.jb100.net/html/content-22-821-1.html php curl常用的5个例子   我用php ,curl主要是抓取数据,当然我们可以用其他的方法 ...

  2. CURL常用命令--update20151015

    下载单个文件,默认将输出打印到标准输出(STDOUT)中 curl http://www.centos.org 通过-o/-O选项保存下载的文件到指定的文件中:-o:将文件保存为命令行中指定的文件名的 ...

  3. 在PHP中使用CURL,“撩”服务器只需几行——php curl详细解析和常见大坑

    在PHP中使用CURL,"撩"服务器只需几行--php curl详细解析和常见大坑 七夕啦,作为开发,妹子没得撩就"撩"下服务器吧,妹子有得撩的同学那就左拥妹子 ...

  4. Linux Curl常用命令使用【转】

    Curl是Linux下一个很强大的http命令行工具,其功能十分强大. 1)读取网页 $ curl linuxidc.com">http://www.linuxidc.com 2)保存 ...

  5. PHP中使用CURL之php curl详细解析

    在正式讲怎么用之前啊,先提一句,你得先在你的PHP环境中安装和启用curl模块,具体方式我就不讲了,不同系统不同安装方式,可以google查一下,或者查阅PHP官方的文档,还挺简单的. 1. 拿来先试 ...

  6. 在PHP中使用CURL,“撩”服务器只需几行

    在PHP中使用CURL,“撩”服务器只需几行https://segmentfault.com/a/1190000006220620 七夕啦,作为开发,妹子没得撩就“撩”下服务器吧,妹子有得撩的同学那就 ...

  7. php 中使用cURL发送get/post请求,上传图片,批处理

    cURL是利用url语法规定传输文件和数据的工具.php中有curl拓展,一般用来实现网络抓取,模拟发送get   post请求,文件上传. 在php中建立curl的基本步骤如下: 1 初始化     ...

  8. PHP中使用CURL之php curl详细解析和常见大坑

    这篇文章主要介绍了PHP中使用CURL之php curl详细解析和常见大坑 ,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 七夕啦,作为开发,妹子没得撩就“撩”下服务器吧,妹子有得撩的同学 ...

  9. PHP中使用cURL实现Get和Post请求的方法

    1.cURL介绍  cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特 ...

随机推荐

  1. 开发一个微信小程序教程

    一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可. 2.注册成功后进入首页,在 小程序发布流程->小程序 ...

  2. Python第一天——入门Python(4)字典的常用操作

    # dic={[1,2,3]:'123'} #可变类型不能当做字典的key,value可以使用任意类型 # dic={(2,3,4):'123'} # print (dic[(2,3,4)]) #元组 ...

  3. Date类型常用概念及方法总结(1)

      Date类型使用UTC(国际协调时间)1970年1月1日零时开始经过的毫秒数来保存时间. (1)创建当前日期           调用Date不传递参数的情况下,创建的新对象自动获得当前日期和时间 ...

  4. CentOS 7安装Teamviewer 12

    1 下载teamviewer 12的rpm包 方法一:访问官网 https://www.teamviewer.com/en/download/linux/ 方法二:wget https://downl ...

  5. UGUI事件系统

    UGUI系统 将UI可能触发的事件分为12个类型,即EventTriggerType枚举的12个值. PointerEnter-- PointerExit-- PointerDown-- Pointe ...

  6. java自带的监控工具VisualVM一

    转自:http://www.cnblogs.com/wade-xu/p/4369094.html 这篇总结的很不错(本人亲自操手学习),留着以后复习备用,很适合入门级的学习者: VisualVM 是一 ...

  7. android之控件与布局

    基本控件:TextViewButtonEditTextImageViewAlertDialog.BubliderProgressDialog 四种基本布局的特殊属性: LinerLayout andr ...

  8. apache 配置静态文件缓存和开启gzip压缩

    1,设置文件静态缓存3天: 在httpd.conf 里添加如下代码: #文件静态缓存配置 <IfModule expires_module> #打开缓存 ExpiresActive on ...

  9. ubuntu 14.04中文分词 结巴分词

    在自然语言处理中,很常见的是要对文本数据进行分词处理.博主是代码小白,目前只是用python作为数据预处理的工具,而按照结巴中文分词的导语:做最好的python中文分词组件“jieba”.因而博主也就 ...

  10. Mysql的转义字符

    Mysql的转义字符是"\",即反斜杠,在INSERT语句中,如果被插入的文本中包含反斜杠,那么反斜杠会被吃掉.例如: INSERT INTO tb (id,json) VALUE ...