curl常用用法总结

2023-05-07 04:47:02

 

前言

curl 是常用的命令行工具,用来请求 Web 服务器。它的功能很强大,熟练使用的话,可以代替postman等工具,在Linux运维环境中尤其的方便。

GET

curl发送get请求非常简单,如下

curl http://helloworld/service-item/1

上面命令向http://helloworld/service-item/1发出 GET 请求,服务器返回的内容会在命令行输出。

POST

curl发送POST请求也比较简单,如下

curl http://10.3.xxx.xxx/cccc/api/feature-xxx/create?app_key=ac90d6ee1cb347ddd42f9a2b28 -H "Content-Type: application/json" -X POST -d {"layerId":"8a8338e9740aef47eeee22740b11117b0001","feature":{"geom":{"type":"Point","coordinates":[60.29296875000001,34.46587602148495]},"name_cn":"长沙海底世界猪猪侠很厉害"}}

上面命令构成部分解释:

-H "Content-Type: application/json" 添加请求头

-X POST 标识这个请求是POST方式

-d {"layerId":"8a8338e9740aef47eeee22740b11117b0001","feature":{"geom":{"type":"Point","coordinates":[60.29296875000001,34.46587602148495]},"name_cn":"长沙海底世界猪猪侠很厉害"}}

这个POST请求的请求体

需要注意的问题:

curl命令必须是一行的,不能换行,否则在命令行中执行会报错。例如上面的的请求,如果写成如下形式是无法执行POST请求的。

curl http://10.3.xxx.xxx/geodataedit/api/cccc/create?app_key=ac90d6eeeeee1cb3470589e470e42f9a2b28 -X POST -d { "layerId": "8a8338e9740aef47eeews01740b11117b0001", "feature": { "geom": { "type": "Point", "coordinates": [60.29296875000001, 34.46587602148495] }, "name_cn":"长沙海底世界猪猪侠很厉害" } }

必须要放在一行中,此时就需要把-d 后面的json 数据压缩成一行了。

那么如何压缩json数据变成一行呢?比较直接的办法是自己在文本编辑器中编辑,去除掉空格和换行符,但是这种方法效率低下,不建议。我自己找到了一种目前来看比较好的办法,就是

打开浏览器---》打开控制台----》控制台中新建变量var obj = <json数据> ---》执行JSON.stringify(obj); 然后拷贝输出来的字符串内容 ,该字符串内容就是压缩后的json数据了


以上就是关于《curl常用用法总结》的全部内容,本文网址:https://www.7ca.cn/baike/24908.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明