当前位置:网站首页 > 技术博客 > 正文

curl访问接口



curl是一款功能强大的命令行服务器请求工具,不仅支持多种协议,例如HTTP,HTTPS,FTP,SCP等等,还提供很多功能,例如用户认证,cookie管理,文件续传等等。这一篇文章我们一起来学习下如何用curl来测试后端开发的网页或者API。

我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。

直接在命令后面接url即可进行基本访问

 
  

这里需要注意url必须要完整,写清楚协议,例如

 
  

如果成功请求到一个网页,则会返回该网页对应的H5字符串。

我在后端创建一个测试页面如下

 
  

此时直接去访问该网页对应的url,结果如下

 
  

H5页面被原封不动返回。

保存结果

当然,通常要查看网页直接用浏览器会更方便一点。使用命令行通常是为了将结果保存下来为后面使用。此时可以利用进行输出重定向

 
  

这里有个小技巧,如果请求的对象是一个文件,就可以达到跟命令同样的下载效果。

查看头信息

如果要连同头信息一起返回,可以加上参数

 
  

可以看到这里将头部信息也显示了出来,如果想只显示头部信息可以将换成。通过状态码以及内容长度等等信息可以做访问异常一些基本的判断。

例如另一个网页就没有返回任何结果

 
  

查看头信息发现状态码是302,才知道被重定向了

 
  

下面看看怎么处理重定向问题。

页面跳转

利用参数跟踪跳转到最终页面

 
  

可以看到经过一次跳转到最终页面,并成功返回。

不过,要说curl真正方便的地方在于测试后端开发的API,功能几乎和python中requests库或者urllib库差不多。

GET方法和POST方法

通过来指定请求时的HTTP方法,因为很多高内聚的后端,同一个url对于GET和POST的反馈是不一样的。

 
  

通常来讲POST方法用的较多,GET方法可以省略不写。

这里注意返回的Json数据,的值为空,因为这个值我是通过cookie来获取的,这里还没有传递cookie到后端,所以会显示为空。

添加POST传递数据

下面试一下POST方法,使用POST方法通常是为了往服务器传递数据,可以利用来完成。值得注意的是,后面需要用带大括号键值对的方式去传递

需要注意的是,shell里面单引号是原因输出,双引号会进行转义。因为大括号是特殊字符,所以包裹大括号的用单引号,而里面包裹字符串的用双引号

 
  

如果是传递多个字段,用类似字典的方式,逗号隔开

 
  

自定义Header信息

如果有写过爬虫的朋友应该对Header不陌生,因为要模拟浏览器,所以要尽量在Header中添加信息来伪装,例如referer和user-agent。curl中通过来添加Header信息,后面同样是跟键值对,不过不需要大括号

 
  

为了方便,有一些Header信息可以利用专门的参数去传递。例如传递User-Agent信息,传递Referer信息等等,这里不单独举例了。

添加Cookie数据

做为会话技术的一种,cookie是存储在客户端的信息,随请求传递给服务端做一些认证工作。利用来传递键值对做为cookie,也不需要大括号,不过需要用等号连接键值对

 
  

                            

版权声明


相关文章:

  • textview属性详解2025-07-12 18:01:05
  • 左连接和右连接的sql语句2025-07-12 18:01:05
  • sql触发器实例详解2025-07-12 18:01:05
  • 分布式缓存解决方案2025-07-12 18:01:05
  • 图像特征提取算法总结大全2025-07-12 18:01:05
  • java并发编程实战 看不懂2025-07-12 18:01:05
  • 如何使用电骡下载2025-07-12 18:01:05
  • 网页数据加密2025-07-12 18:01:05
  • java中unicode占几个字节2025-07-12 18:01:05
  • autoruns怎么用2025-07-12 18:01:05