Linux curl 命令测试域是否是通的

本文详细介绍了Curl命令的多种用法,包括显示请求详细信息、指定请求方式、POST数据、使用JSON格式、处理Cookie以及表单提交等。并通过案例分享了如何利用Curl排查接口调用失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目开发时候,调用了外部的接口,之前接口ip是http://xx.xx.xxx.xxx:8095,后来ip升级成域改成http://abc.def/xxxx ,如何确定我们的服务器和这个域是否是联通的呢?因为调接口一直提示连接超时…
通过下面的curl -v xxx 命令,虽然是404,但是网络是通的。原因跟网络环境没关系,是由于自身服务调用的接口地址还是ip,没有刷新成域的方式。后来重启了自己项目的配置中心就解决了。

在这里插入图片描述

总结一下curl常用用法

-v显示请求详细信息

curl www.baidu.com -v

1
-X 指定请求方式
GET请求

curl -X GET http://localhost:8080/search?data=123  # -X GET是可选的

1
POST请求

curl -X POST -d"data=123&key=456" http://localhost:8080/search -v 

1
由于-d选项为使用POST方式向server发送数据,因此在使用-d的时候,可以省略-X POST。使用-d时,将使用Content-type:application/x-www-form-urlencoded方式发送数据。

如果想使用JSON形式post数据,可以使用-H指定头部类型

curl -H "Content-Type:application/json" -d '{"data":"123","key":"456"}' http://localhost:8080/search -v

1
如果想在请求的时候带上Cookie,可以这样

curl -H "Cookie:username=XXX" {URL}

1
-H增加头部信息
例子见以JSON方法POST数据

Cookie相关
-c 存储cookie到文件

curl -d"name=zhangsan&password=123" http://localhost:8080/login -c ./cookie

1
使用用户名和密码登录系统,并将cookie信息存储在当前目录的cookie文件中

-b 携带cookie文件

curl http://localhost:8080/login -b ./cookie

1
‘-cookie’直接指定cookie

curl --cookie "name=zhangsan" http://localhost:8080/login

1
-F表单提交操作
curl可以通过-F命令来以Content-Type:multipart/form-data的形式向server post数据,该命令允许提交二进制文件等。可以使用@前缀来制定提交的内容为一个文件,也可以使用<符号来提交文件中的内容

curl -F prefile=@portrait.jpg https://example.com/upload.cgi

1
向服务器上传一个图片,图片的表单域名为profile,内容为protrait.jpg的二进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值