网页内容替换

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://www.baidu.com");
//执行后不直接打印出来
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($curl);
curl_close($curl);
echo str_replace("百度", "屌丝", $output);

通过webservice查询北京当前的天气

        $data = 'theCityName=北京';
$curlobj = curl_init();
curl_setopt($curlobj, CURLOPT_URL, "http://www.webxml.com.cn/webServices/WeatherWebService.asmx/getWeatherbyCityName");
//不返回请求头信息
curl_setopt($curlobj, CURLOPT_HEADER, 0);
//以文件流形式输出,不直接输出
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
//post方式请求
curl_setopt($curlobj, CURLOPT_POST, 1);
//传递一个作为http ‘post’操作的所有数据的字符串
curl_setopt($curlobj, CURLOPT_POSTFIELDS, $data);
//这句不写会报错(请求中包含user-agent头的字符串)--未将对象引用设置到对象的实例
curl_setopt($curlobj,CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($curlobj, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencode;charset=utf-8","Content-length:".strlen($data)));
$rtn = curl_exec($curlobj);
if(!curl_errno($curlobj)){
//$info = curl_getinfo($curlobj);
//print_r($info);
echo $rtn;
}else{
echo 'Curl error'.curl_error($curlobj);
}
curl_close($curlobj);

把本地文件上传FTP服务器

        $curlobj = curl_init();
$localfile = 'ftp01.php';
$fp = fopen($localfile, 'r');
curl_setopt($curlobj, CURLOPT_URL, "ftp://192.168.1.100/ftp01_uploaded_01.php");
curl_setopt($curlobj, CURLOPT_HEADER, 0);
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
//最大延迟多少秒
curl_setopt($curlobj, CURLOPT_TIMEOUT, 300);
curl_setopt($curlobj, CURLOPT_USERPWD, "peter.zhou:123456"); //让PHP为上传做准备
curl_setopt($curlobj, CURLOPT_UPLOAD, 1);
//输出文件
curl_setopt($curlobj, CURLOPT_INFILE, filesize($localfile));
$rtn = curl_exec($curlobj);
fclose($fp);
if(!curl_errno($curlobj)){
echo "uploaded successfully";
}else{
echo 'curl error:' . curl_error($curlobj);
}

  从ftp服务器下载一个文件到本地

        $curlobj = curl_init();
curl_setopt($curlobj, CURLOPT_URL, "ftp://192.168.1.100/downloaddemo.txt");
curl_setopt($curlobj, CURLOPT_HEADER, 0);
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlobj, CURLOPT_TIMEOUT, 300);
curl_setopt($curlobj, CURLOPT_USERPWD, "peter.zhou:123456");//FTP用户名:密码
$outfile = fopen('test.txt', 'wb');//保存到本地的文件名
//输出文件
curl_setopt($curlobj, CURLOPT_FILE, $outfile);
$rtn = curl_exec($curlobj);
curl_close($curlobj);
if(!curl_errno($curlobj)){
//$info = curl_getinfo($curlobj);
//print_r($info);
echo $rtn;
}else{
echo 'Curl error'.curl_error($curlobj);
}

  下载网络上的HTTPS的资源

        $curlobj = curl_init();
curl_setopt($curlobj, CURLOPT_URL, "https://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.js");
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true);
//设置HTTPS支持
date_default_timezone_set('PRC');
curl_setopt($curlobj,CURLOPT_SSL_VERIFYPEER,0); $output = curl_exec($curlobj);
curl_close($curlobj);
echo $output;

  登录慕课网并下载个人空间页面

        $data = 'username=demo_peter@126.com&password=123&remember=1'
$curlobj = curl_init();
curl_setopt($curlobj,CURLOPT_URL,"http://www.imooc.com/user/login");//设置访问网页的URL
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true);//执行之后不直接打印出来 //Cookie相关设置,这部分设置需要在所有会话之前设置
date_default_timezone_set("PRC");
curl_setopt($curlobj, CURLOPT_COOKIESESSION, true);
curl_setopt($curlobj, CURLOPT_COOKIEFILE, "cookiefile");
curl_setopt($curlobj, CURLOPT_COOKIEJAR,"cookiefile");
curl_setopt($curlobj, CURLOPT_COOKIE, session_name() . '=' . session_id());
curl_setopt($curlobj, CURLOPT_HEADER, 0);
curl_setopt($curlobj, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curlobj, CURLOPT_POST, 1);
curl_setopt($curlobj, CURLOPT_POSTFIELDS, $data);
curl_setopt($curlobj, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencode;charset=utf-8","Content-length:".strlen($data)));
curl_exec($curlobj);
curl_setopt($curlobj, CURLOPT_POST, "http://www.imooc.com/sapce/index");
curl_setopt($curlobj, CURLOPT_POST, 0);
curl_setopt($curlobj, CURLOPT_HTTPHEADER, 0);
curl_setopt($curlobj, CURLOPT_HTTPHEADER, array("Content-type:text/xml"))
curl_close($curlobj);
echo $output;

  

PHP curl 常用操作的更多相关文章

  1. curl常用操作

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

  2. curl 常用操作总结

    前言 curl 是一个强大的命令行工具,支持 HTTP, HTTPS, SCP 等多种协议,本文主要总结一下其常用的功能,方便及时查阅. curl --version curl 7.68.0 (x86 ...

  3. openstack swift curl 常用操作

    上传文件 curl -v -X PUT -H 'X-Auth-Token: AUTH_tkd9276f23b3404c67b8a6be45da881d6e' http://127.0.0.1:8080 ...

  4. curl常用选项详解

    curl常用选项详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 又是下班的时间了,让我们一起来学习一下今天的Linux命令吧~我一半只把自己常用的参数列出来,其他的有但是我们几 ...

  5. [容器]docker-ce安装最新版-docker常用操作

    社区: http://www.dockerinfo.net/rancher http://dockone.io/ https://www.kubernetes.org.cn/ 1,docker安装配置 ...

  6. Elasticsearch本地环境安装和常用操作

    本篇文章首发于我的头条号Elasticsearch本地环境安装和常用操作,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干 ...

  7. Linux curl 常用示例

    本篇文章包含了curl的常用案例使用. 如果想了解curl选项的详细说明,请参考前一篇文章「Linux curl 命令详解」. 常见网页访问示例 基本用法 访问一个网页 curl https://ww ...

  8. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  9. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

随机推荐

  1. 最近公司用到了lombok,感觉很不错的样子,所以上网搜了一些资料,总结了一下用法。

    lombok作用:它提供了简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码,特别是相对于 POJO.缺点是使用lombok虽然能够省去手动创建setter和getter方法的麻烦, ...

  2. ecshop_添加最新评论

    第一步: 在includes/lib_goods.php里面构建自定义函数 代码如下: /**  * 获取最近评论 *  * @return array  */ function get_latest ...

  3. ArrayList 源码详细分析

    1.概述 ArrayList 是一种变长的集合类,基于定长数组实现.ArrayList 允许空值和重复元素,当往 ArrayList 中添加的元素数量大于其底层数组容量时,其会通过扩容机制重新生成一个 ...

  4. servlet入门学习之Web容器

    一.web服务器 web服务器(程序/软件) 即:www服务器或http服务器.提供Web信息浏览服务.它只需支持HTTP协议.HTML文档格式及URL.向浏览器提供服务的程序. 1.Web服务器是指 ...

  5. es7重点笔记

    1,函数绑定运算符,用来取代call,apply,bind调用,写法:并排的双冒号(::),左边是对象,右边是函数 foo :: bar; // 等同于bar.bind(foo); 双冒号返回的还是原 ...

  6. BIGIP-LTM中的NAT和SNAT

      http://250688049.blog.51cto.com/643101/1095880 一.NAT(Network Address Translation)网络地址转换1.NAT简介 NAT ...

  7. linux_nginx反向代理

    什么代理? 代理他人工作 什么是正向代理和反向向代理,他们之间的区别? 这两个代理很类似,但扮演了两个不同角色,一个站在用户角度,一个站在服务端角度 正向代理: 帮助用户请求服务 返向代理:帮助服务均 ...

  8. junit4初体验

    OK,现在我们正式开始junit4系列的整理.前面的junit38作为4的补充知道就好了,实际编码中我们以4为主.这里先来一把junit的初体验,同时也让我们来一步一步的了解下TDD的好处. ORM大 ...

  9. junit--eclipse插件

    现在比较火的IDE是JIDE,但是我一直在使用eclipse.对eclipse比较熟悉了,也有了感情了.这里就以eclipse为例,来整理下eclipse中junit插件的使用. 添加junit包到自 ...

  10. linkin大话数据结构--apache commons工具类

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动. 一.Commons BeanUtils 说明:针对Bean的一个工具集.由于Bean往往是有一堆ge ...