场景:某些场景的服务器对权限有很高的限制,你直接通过自己电脑发送的请求未必会被某个服务器接收并响应。

解决,我们可以通过同一级别的服务器发送请求,也就是今天要将的curl这个命令

 

部分参数说明

参数说明
-c file将cookie写入到file这个文件中(file为文件路径)
-b file从file这个文件中将cookie读取出来
-X POST/PUT/DELETE使用POST/PUT/DELETE方法
-H param设置请求头参数
-d ""需要向后端发送的数据
-k发送https请求的时候,不做认证
(当用https请求出错的时候,可以试下加-k)
-v看到详细的请求头中的信息
-i看到详细返回头中的信息
-o filename url将对应路径的文件以该文件名下载下来
-O url使用URL中默认的文件名保存到本地
-F "key=value"curl会以multipart/form-data的方式发送POST请求
以key=value的形式发送数据
如果是文件的话,则需要以key=@value(加上@的标志)

举个例子:现在A服务器提供一个接口,根据身份证查询姓名,/getNameById  这个接口只对B服务器上的应用开放,这个时候你有一个身份证号想知道姓名是什么,你就不得不访问A的接口/getNameById,但是你发现通过本地访问这个接口一直报超时,这是因为A服务器有自己的防御机制,只会响应B服务器的请求,这个时候如果你有B服务器的使用权,你就可以通过curl这个命令访问查询姓名的接口,大概格式就是 curl -k "https://ip:8080/getNameById" 得到的结果就是你想要的,我推荐后面的地址用""保住,不然可能会出异常。对一些情况还是挺适用的。

Logo

更多推荐