php中使用curl两个例子

第一个例子:

调用一个天气预告的接口

$data = ‘theCityName=石家庄‘;
$cUrl = curl_init();
curl_setopt($cUrl, CURLOPT_URL, "http://www.webxml.com.cn/webservices/weatherwebservice.asmx/getWeatherbyCityName");
curl_setopt($cUrl, CURLOPT_HEADER, 0);
curl_setopt($cUrl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cUrl, CURLOPT_POST, 1);
curl_setopt($cUrl, CURLOPT_USERAGENT, $_SERVER[‘HTTP_USER_AGENT‘]);
curl_setopt($cUrl, CURLOPT_POSTFIELDS, $data);
curl_setopt($cUrl, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencoded; charset=utf-8", "Content-length: ".strlen($data)));

$output = curl_exec($cUrl);

if(!curl_errno($cUrl)) {
    echo $output;
}else{
    echo "Curl error:  ".curl_error($cUrl);
}
//echo str_replace("百度", "^_^", $output);

curl_close($cUrl);

第二个例子:

模拟登录一个站点并保存某个页面

$data = ‘name=admin&password=123456‘;
$cUrl = curl_init();
curl_setopt($cUrl, CURLOPT_URL, "http://www.***.com/a/login.html");
curl_setopt($cUrl, CURLOPT_RETURNTRANSFER, 1);
date_default_timezone_set(‘PRC‘);

curl_setopt($cUrl, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($cUrl, CURLOPT_COOKIEFILE, "cookiefile");
curl_setopt($cUrl, CURLOPT_COOKIEJAR, "cookiefile");
curl_setopt($cUrl, CURLOPT_COOKIE, session_name()."=".session_id());
curl_setopt($cUrl, CURLOPT_HEADER, 0);
curl_setopt($cUrl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($cUrl, CURLOPT_POST, 1);
//curl_setopt($cUrl, CURLOPT_USERAGENT, $_SERVER[‘HTTP_USER_AGENT‘]);
curl_setopt($cUrl, CURLOPT_POSTFIELDS, $data);
curl_setopt($cUrl, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencoded; charset=utf-8", "Content-length: ".strlen($data)));
curl_exec($cUrl);

curl_setopt($cUrl, CURLOPT_URL, "http://www.***.com/a/analysisIndex.html");//要保存的页面
curl_setopt($cUrl, CURLOPT_POST, 0);
curl_setopt($cUrl, CURLOPT_HTTPHEADER, array("Content-type: text/xml"));
$output = curl_exec($cUrl);
curl_close($cUrl);
echo $output;
时间: 2024-08-24 13:31:12

php中使用curl两个例子的相关文章

Linux系统中的curl命令使用教程

这篇文章主要介绍了Linux系统中的curl命令使用教程,是Linux入门学习中的基础知识,需要的朋友可以参考下. 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具.语法:# curl [option] [url]常见参数:-A/--user-agent <string>              设置用户代理发送给服务器-b/--cookie

PHP中的CURL函数库(转载)

使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网 页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内 容,cURL 是一个功能强大的PHP库. PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭一个curl会话 curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数 cu

jsp中include的两种方式

一.前言 身为一名coder有太多太多的知识点要去学,太多太多的东西要去记.往往一些小细节也就难免疏忽,但悲催的是多数困恼你的bug就是因为这些微不足道的知识点.我们又不是机器人,怎么可能什么都记得了呢.更多的是遇到问题->解决问题->成为经验,这种提升模式.其实多去交流,多去分享,在你还未遇到问题之前就能预先知晓解决方法,或许提升的更快. 二.JSP中include的两种方法 1.include指令: <%@include file="文件的绝对路径或者相对路径"%

java.两个例子充分阐述多态的可拓展性

下面我将以两个例子来充分阐述java中多态的可拓展性,作为一名优秀的程序员,就必须了解程序的可拓展性,非常利于程序后续的开发. 第一个例子:利用电脑的主板来作为例子,就我们所熟悉的电脑的主板,里面是不是有很多模块,网卡,声卡,想要用到这些功能,只能当主板运行起来,再给网卡和声卡供电就可以,但这用软件语言怎么来实现呢?是不是先要主板跑起来,主板再让声卡或者网卡跑起来,但这样做,拓展性不高让声卡和网卡跑起来的操作是重复的,而且有很多模块也具备这样的功能,就单纯让主板上的模块跑起来,这是其一,万一,那

一组数中,只有两个数只出现了奇数次,其他所有数都是成对出现的,请找出那两个数

先看一个简单的,一组数中,只有一个数只出现了奇次,其他所有数都是成对出现的,找出出现奇次数的数.对于这个题,我们只需对所有数及逆行异或即可.理论公式: a⊕b=b⊕a a⊕0=a a⊕b⊕b=a a⊕(b⊕c)=(a⊕b)⊕c 代码: #include <stdio.h> #include <stdlib.h> int main() { int arr[] = { 1, 2, 3, 4, 1, 2, 3 }; int ret = 0; int len = sizeof(arr) /

解决Linux终端乱码的两则例子

现象描述 我们先来说一下出现乱码的原因. 例子 先举个实际的例子,我们一般通过ssh远程到服务器上进行操作.当在终端上执行一些有输出的任务时,就遇到乱码了. 比如,我登陆上oracle数据库服务器上,查看oracle RAC的状态: 比如上面的例子,除了英文字母外其它的都成了乱码了. 当然这个与运行什么程序没有什么关系,你可以试一下系统自带的命令,当参数错误时也会也现乱码. 当我们在网上找问题的解决方法时,有让你修改配置文件的,有让你修改环境变量的,有让你换个客户端的,还有让你装语言包的. 有这

如何处理Java异常的两个例子?

下面有两个例子.一个是告诉我们调用方法也需要处理被调用者所抛出的异常:另一个是告诉我们父类可以被用来捕获或者处理异常. 1.调用方法必须处理被调用者所抛出的异常 下面是一个小小处理异常的程序.仅仅只是为了测试,如果在一个方法里抛出一个异常,不仅仅那个方法,而且调用该方法的所有方法必须声明或抛出该异常. public class exceptionTest { private static Exception exception; public static void main(String[]

通过两个例子讲解avalon的部分结构

avalon是一个迷你的mvvm框架,兼容IE6,如果你只打算兼容IE10与标准浏览器,那么下avalon.modern.js.并且体积比较小,下面就举两个例子介绍avalon. 例子1 效果如下,点击add按钮可实现蓝色 方块的添加,并且方块上面的数字也有所增加,在方块上点击便可实现该对应的方块删除,点击delete按钮最末端的方块消失. 在head 部分导入avalon,并设定方块样式. ? 1 2 3 4 5 6 7 8 9 10  <head>         <title>

java中super 的两种用法

通过用 static 来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于 C 语言中的全局函数和全局变量.但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的. 好了,现在开始讨论 this&super 这两个关键字的意义和用法. 在 Java 中, this 通常指当前对象, super 则指父类的.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用