成都网站建设 网络公司,网站开发小结,网站备案麻烦么,啥十小企业网站建设curl 使用发送POST GET请求 HEADER设置 文章目录 Get请求POST请求1. application/x-www-form-urlencoded2. Multipart/form-data3. application/json4. text/xml 文件内容作为提交的数据 curl 设置自定义HEADER 头注意事项#xff1a;shell批处理外传 Get请求
get请求偏简单shell批处理外传 Get请求
get请求偏简单我们主要看看post的请求处理
curl -X GET 127.0.0.1:8080/api/getInfo?namezhangsanPOST请求
使用curl 发送POST请求 HTTP 的POST请求通常用于提交数据一般有四种常见的POST提交数据方式。做Web后端开发时不可避免的要自己发送请求来调试接口如何使用curl工具来进行各种方式的POST请求。
1. application/x-www-form-urlencoded
最常见的POST请求form表单。 使用curl进行请求很简单示例如下
curl -X POST 127.0.0.1:8080/api/getInfo -d namezhangsan 2. Multipart/form-data
这种请求一般涉及文件上传。后端对这种类型的请求处理也更复杂一些。
curl 127.0.0.1:8080/api/multipart -F rawraw.data -F namezhangsan3. application/json
curl -XPOST 127.0.0.1:8080/api/json --header Content-Type : application/json -d {name:zhangsan} 这种方式跟 application/x-www-form-urlencoded 类型的POST请求类似 -d 参数值是 JSON字符串并且多了一个 Content-Type: application/json 指定发送内容的格式。 Web后端解析后得到的结构都是 namezhangsan 键值对。
4. text/xml 文件内容作为提交的数据
如果要提交的数据比较多不方便写在命令行里那么那么可以把数据内容写到文件中通过 -d filename 的方式来提交数据。 这是 -d 参数的一种使用方式。但是跟 multipart/form-data 中上传文件的POST不是一回事。 符号表明后面跟的是文件名要读取这个文件的内容作为 -d 的参数。
// 创建数据文件 data.json { “name” : “zhangsan”, “age” : 18, “habit” : [“zz”, “xxx”] }
请求示例如下
curl -XPOST 127.0.0.1:8080/api/json --header Content-Type : application/json -d data.json如果要用 application/x-www-form-urlencoded 方式提交后端解析出同样的数据那么 -d 参数是这样的 注意数组参数的写法 。
// data.txt namezhangsanage18habit[]zzhabit[]xxx
请求示例如下
curl -XPOST 127.0.0.1:8080/api/test -d data.txt curl -XPOST 127.0.0.1:8080/api/test -d namezhangsanage18habit[]zzhabit[]xxxcurl请求http结果保存到文件中
curl --header Content-type : application/json hostname:port/path ./result.jsoncurl 设置自定义HEADER 头
Curl 是一个强大的命令行工具它可以通过网络将信息传递给服务器或者从服务器获取数据。 支持很多传输协议尤其是 HTTP/HTTPS 以及其他诸如FTP/FTPS, RTSP, POP3/POP3S, SCP, IMAP/IMAPS 协议等。 当你使用curl 向一个URL发送HTTP请求时会使用一个默认的包含必要的头部字段(如 User-AgentHostAccept)的HTTP头。
在一些HTTP请求中需要覆盖默认的HTTP头或者添加自定义的头部字段。为了解决这些问题curl提供一个简单的方法来完全控制传出HTTP请求的HTTP头。 需要的参数是 -H 或者 --header。 为了定义多个HTTP头部字段-H 选项可以在curl命令中多次指定。示例如下
curl -H host:220.181.38.149 -H Accept-language:es -H Cookie:tokenxxxx www.baidu.com -v注意事项
header头、冒号和值质检不能有空格 自定义的Header头需要加在标准头后面。 对于“User-Agent”,”Cookie”,”Host” 这类标准的HTTP头字段通常会有另一种设置方法。curl命令提供了特定的选项来针对这些字段进行设置
-A (or ––user-anget) 设置 User-Agent字段 -b(or ––cookie) : 设置 Cookie字段 -e(or ––referer)设置 Referer 字段 示例如下两种方式是等效的
curl -H “User-Agent: brower” hostname curl -A “brower” hostname
shell批处理
一般情况下我们需要编写shell文件做数据的批处理 简单的例子 initData.sh
reqUrlhttp://192.168.1.145:8080/api/updateXXX
reqAuthBearer xxxxxxxxx
reqTypeapplication/jsoncurl -XPOST $reqUrl -H Content-Type:$reqType -H Authorization:$reqAuth -d {identifier:1,roomNo:3,name:105,floorNumber:03楼一层,numberOfPeople:30}
echo
curl -XPOST $reqUrl -H Content-Type:$reqType -H Authorization:$reqAuth -d {identifier:1,roomNo:4,name:贵宾室,floorNumber:03楼一层,numberOfPeople:18}
echo
curl -XPOST $reqUrl -H Content-Type:$reqType -H Authorization:$reqAuth -d {identifier:1,roomNo:5,name:108,floorNumber:03楼一层,numberOfPeople:40}
echo 外传 原创不易如若本文能够帮助到您的同学支持我关注我点赞收藏⭐️留言探讨问题看到立马回复格言己所不欲勿施于人 扬帆起航、游历人生、永不言弃