分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

php curl数据传输神器

发布时间:2023-09-06 01:51责任编辑:彭小芳关键词:url

一、curl的概念:

curl (Client Url Library Functions)  

定义: curl is a command  line tool for transfering data with url syntax

即 使用 URL 语法传输数据的命令行工具

CURL是访问网络资源的工具

二、curl的使用场景

1、访问网页资源 (例如:编写网页爬虫)

2、访问WebService 数据接口资源 (例如:动态获取数据接口,天气,号码归属地等)

3、下载FTP服务器里面的文件资源等 (例如:下载FTP服务器里面的文件)

所有的网络资源都可以用CRUL访问和下载到

三、在PHP中使用cUrl

windows: 在cmd中执行命令

 php -i ?// 所有php的设置都会被打印出来, i 代表 infomations的意思

 然后 右键 -> 编辑 -> 查找->输入 cUrl ,可以看到类似如下信息:

说明cUrl 可用,且版本为 7.25.0

Linux:输入命令:

php -i | grep cUrl

 几乎所有的工具都需要经历:

去初始化它 -> 去使用它 -> 去关闭它

curl也是这样。

curl_exec() 把发送请求和接收数据都一起做了。

四、使用示例

1、一个最简单的 curl 示例(编写一个网页爬虫,获取百度首页的 html)

$curl = curl_init(‘www.baidu.com‘); ?// 初始化curl_exec($curl); ?// 执行curl_close($curl); // 关闭

 这样子会得到百度首页的 html 代码,并且会直接输出,用浏览器显示的话,和输入www.baidu.com显示的内容一模一样。

2、对网页代码做一些修改(例如将百度改为慕课)

$url = ‘www.baidu.com‘;$curl = curl_init(); ?// 初始化 curlcurl_setopt($curl,CURLOPT_URL,$url); // 设置访问的 urlcurl_setopt($curl,CURLOPT_RETURNTRANSFER,true); // CURLOPT_RETURNTRANSFER 设为 tuue,表示执行结果不直接打印出来,以便对结果做一些后续的处理$output = curl_exec($curl); //执行curl_close($curl); // 关闭 curlstr_replace(‘百度‘,‘慕课‘,$output); // 对返回结果做替换

 3、访问 WebService 数据接口资源(查询深圳的天气)

使用的天气接口为 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx ,虽说是免费的,但是有使用次数限制

$url = ‘http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName‘;$data = ‘theCityName=北京‘; ?// 多个参数用 & 连接$httpHeader = array( ???‘Content-type: application/x-www-form-urlencoded;charset=utf-8‘, ?// 数据被编码为名称/值对的形式,字符集为utf-8 ???‘content-length: ‘.strlen($data), // post发送都需要指定一下数据的长度);$curl = curl_init(); ?// 初始化 curlcurl_setopt($curl,CURLOPT_URL,$url); // 设置访问的 urlcurl_setopt($curl,CURLOPT_HEADER,0); // 不设置 headercurl_setopt($curl,CURLOPT_RETURNTRANSFER,true); // CURLOPT_RETURNTRANSFER 设为 tuue,表示执行结果不直接打印出来,以便对结果做一些后续的处理// post请求,下面这 3 行是重点curl_setopt($curl,CURLOPT_POST,true); ?// 通过 post 的方式请求curl_setopt($curl,CURLOPT_POSTFIELDS,$data); // 设置请求的参数curl_setopt($curl,CURLOPT_HTTPHEADER,$httpHeader); // 设置 httpheadercurl_setopt($curl, CURLOPT_USERAGENT, $_SERVER[‘HTTP_USER_AGENT‘]); //声明浏览器用于 HTTP 请求的用户代理头的值。简单来说,就是“声明用什么浏览器来打开目标网页”,当抓取网页资源不能正确返回结果时,可以加入这一项$output = curl_exec($curl); //执行if(! curl_errno($curl)){ ?// 如果执行的过程中出错了,将错误打印出来 ???echo $output; // 返回的是一个 xml ???//$info = curl_getinfo($curl); ?// 返回的是数组格式 ???//print_r($info);}else{ ???echo ‘curl error:‘.curl_error($curl);}curl_close($curl); // 关闭 curl

php curl数据传输神器

原文地址:https://www.cnblogs.com/chrdai/p/8974059.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved