项目开发时候,调用了外部的接口,之前接口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的二进制

GitHub 加速计划 / li / linux-dash
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐