curl简单实用

周起 周起     2022-09-04     589

关键词:

 

学习地址:https://yq.aliyun.com/articles/33262

curl的简单使用步骤

要使用cURL来发送url请求,具体步骤大体分为以下四步:

1.初始化
2.设置请求选项
3.执行一个cURL会话并且获取相关回复
4.释放cURL句柄,关闭一个cURL会话

输出this is a get url

cURL之所以强大,正是体现在第二个步骤中。你可以通过curl_setopt灵活地设置请求选项,这里面有很多的可选项

具体可以参考:http://cn2.php.net/manual/zh/function.curl-setopt.php

三、错误处理

在上述代码中,你也可以增加错误处理的代码:

$response = curl_exec($ch);

if ($response  === FALSE) {

  echo "cURL 具体出错信息: " . curl_error($ch);

}

注意了,在做上述判断时务必要使用===,因为请求的回复可能是空字符串,curl在请求出错的情况下回返回FALSE值,所以我们必须使用===,而不是==

四、获取curl请求的具体信息

在执行一个cURL请求后,你也可以使用curl_getinfo获取该请求的具体信息:

打印出来的数组:

五、使用curl发送post请求

我们在前面说过,在向某个url发送get请求的话,没有必要使用cURL来发送get请求,可以使用比较便捷的file_get_contents函数来完成请求。但是,一般地,我们在提交某个表单的时候,数据是通过post请求的内容区域来提交的,而不是通过url参数来传递的, 这种情况下,我们应该使用灵活的cURL来模拟发送post请求。

请求地址

http://www.chipshare.cn/wofans/index.php/Home/Test/post.html

示例代码如下:

正如我们看到的,cURL成功发送post请求到post.php,提交了一些数据,并且收到了相应的来自post.php的回复,最后输出回复。上例虽然简单,但是充分演示了cURL发送post请求的便捷及强大之处,你可以在curl_setopt上做文章。

因此我们可以封装出两个常规方法,get和post获取信息

 

封装请求方法,也就是实用curl方法去请求

//封装请求接口方法   functionrequest($url,$https=true,$method=‘get‘,$data=null){      //1、初始化curl      $ch=curl_init($url); &nbs 查看详情

cURL 和密码包含冒号

...cURL实用程序将数据上传到dashDB本地环境。当我使用带有简单密码(没有“特殊”字符)的用户/密码时,它运行良好,但是当密码包含冒号时,它总是失败,无论以何种方式指定一对用户名/密码。任务工作:curl-XPOST-H"Content- 查看详情

jsondataobjects简单实用

下载地址https://github.com/ahausladen/JsonDataObjectsSimpleexamplevarObj:TJsonObject;beginObj:=TJsonObject.Parse(‘{"foo":"bar","array":[10,20]}‘)asTJsonObject;tryShowMessage(Obj[‘foo‘]);ShowMessage(IntToS 查看详情

curl简单入门

curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。从curl官网下载你需要的curl版本,这儿我使用的win64位,解压后,将curl.exe文件放置到C:Windo... 查看详情

:devexpress学习:devexpress汉化(简单实用快速)

[转]:DevExpress学习(2):DevExpress汉化(简单、实用、快速)​devexpress(dxperience)2011.1.8源代码​ 查看详情

简单实用jstl实现代码编写

packagecom.ceshi;importjava.io.IOException;importjavax.servlet.jsp.JspException;importjavax.servlet.jsp.tagext.*;publicclassTestTagextendsSimpleTagSupport{privateStringouterTagName="p";publicStringget 查看详情

简单实用jstl实现“登录|注册”

packagecom.ceshi;importjava.io.IOException;importjavax.servlet.jsp.JspException;importjavax.servlet.jsp.PageContext;importjavax.servlet.jsp.tagext.SimpleTagSupport;publicclassUserStatusextendsSimpleTa 查看详情

ncp的简单实用

‘usestrict‘;//这是一个简单的应用varPromise=require(‘bluebird‘);varncp=require(‘ncp‘).ncp;varfs=require("fs");global.l=console.log;varncpAsync=Promise.promisify(ncp);varpromise=ncpAsync(‘./content‘,‘./content1‘ 查看详情

uicollectionview的简单认识和简单实用

...许多复杂的流布局。但对我们来说,系统提供的接口十分简单易用,并且有十分强的制定性。iOS流布局UICollectionView系列一——初识与简单使用UICollectionView一、简介       &nb 查看详情

angularjs的简单实用

AngularJs的初步认识和使用   一:      1.模块化         定义模块和控制器 ng-app="myapp" controller="myctrl"  &nb 查看详情

2019-09-16curl简单操作

1.get请求(使用file_get_contents()函数也可以实现get请求)//http_build_query()构造一个url字符串functionhttp_get($url){//1.初始化curl$ch=curl_init();//2.设置参数curl_setopt($ch,CURLOPT_URL,$url);//指定网址curl_setopt($ch,CURLOPT_RETURN 查看详情

curl_init()简单使用

<?phpfunction_request($curl,$https=true,$method=‘get‘,$data=null){$ch=curl_init();//初始化curl_setopt($ch,CURLOPT_URL,$curl);curl_setopt($ch,CURLOPT_HEADER,false);//设置不需要头信息curl_setopt($ch,CURLOPT_RET 查看详情

简单实用的纯css按钮效果

在许多网站中都需要实用到按钮,一个好看实用的css按钮即可以给访问者以美感,又可以方便开发者。下面就是一个纯css按钮,需要的可以参考。css代码.div{display:inline-block;padding:.3em.5em;background-image:linear-gradient(#ddd,#bbb);border:1pxso... 查看详情

git简单实用

git简单命令gitinit初始化gitadd.全部管理起来gitcommit-m‘创建第一个版本’gitconfig--globaluser.email"自己邮箱"gitconfig--globaluser.name"自己名字"gitstatus查看当前文件夹状态gitlog查看日志gitreset--hard版本号回滚到上一个版本gitreflog查看... 查看详情

插件kendodatepicker的简单实用

关于kendoDatePicker的简单用法  1:引用插件源    <linkhref="../js/kendoui/styles/kendo.common.min.css"rel="stylesheet"/>    <linkhref="../js/kendoui/styles/kendo.default.min.css"rel="stylesheet"/>    &l 查看详情

简单实用springapplicationlistener(代码片段)

编写测试事件packagecom.itdfq.springlistener.event;importorg.springframework.context.ApplicationEvent;/***@Author:GodChin*@Date:2021/8/129:55*@Blog:http://itdfq.com*@QQ:909256107*@Descrip 查看详情

简单实用springapplicationlistener(代码片段)

编写测试事件packagecom.itdfq.springlistener.event;importorg.springframework.context.ApplicationEvent;/***@Author:GodChin*@Date:2021/8/129:55*@Blog:http://itdfq.com*@QQ:909256107*@Descrip 查看详情

游标的简单实用

DECLARE@TnameVARCHAR(30)--定义变量存放表名DECLAREMy_CursorCURSOR--声明游标FOR(SELECTNAMEFROMSYS.databases)--查出需要的集合放到游标中OPENMy_Cursor--打开游标FETCHNEXTFROMMy_CursorINTO@Tname--into的变量数量必须与游标查询结果集的列数相同WHILE@@FETCH_ST 查看详情