CURL续集仍然很精彩

90 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第2天,点击查看活动详情

curl 设置自定义[HEADER]

  • 上文我们提到Curl 是一个强大的命令行工具,我们通过它完成了GET,POST请求并且可以通过文件进行读取内容作为参数。它还可以通过网络将信息传递给服务器或者从服务器获取数据。支持很多传输协议,尤其是 HTTP/HTTPS 以及其他诸如FTP/FTPS, RTSP, POP3/POP3S, SCP, IMAP/IMAPS 协议等。

在一些HTTP请求中,需要覆盖默认的HTTP头或者添加自定义的头部字段。为了解决这些问题,curl提供一个简单的方法来完全控制传出HTTP请求的HTTP头。需要的参数是 -H 或者 --header。为了定义多个HTTP头部字段,-H 选项可以在curl命令中多次指定。示例如下:


curl -H "host:172.16.1.211" -H "Accept-language:ZH" -H "Cookie:authorizationBearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXB0TmFtZSI6bnVsbCwicGhvbmUiOiIxMzA1MTY2NjY2NiIsInVzZXJfbmFtZSI6Inlwa2oiLCJzY29wZSI6WyJhbGwiXSwibmlja25hbWUiOiLkuprmtL7np5HmioAiLCJkZXB0SWQiOiIyNDMiLCJleHAiOjE2NjA1NTAxNDUsInVzZXJpZCI6IjEiLCJhdXRob3JpdGllcyI6WyIqOio6KiJdLCJqdGkiOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKa1pYQjBUbUZ0WlNJNmJuVnNiQ3dpY0dodmJtVWlPaUl4TXpBMU1UWTJOalkyTmlJc0luVnpaWEpmYm1GdFpTSTZJbmx3YTJvaUxDSnpZMjl3WlNJNld5SmhiR3dpWFN3aWJtbGphMjVoYldVaU9pTGt1cHJtdEw3bnA1SG1pb0FpTENKa1pYQjBTV1FpT2lJeU5ETWlMQ0psZUhBaU9qRTJOakExTlRBeE5EVXNJblZ6WlhKcFpDSTZJakVpTENKaGRYUm9iM0pwZEdsbGN5STZXeUlxT2lvNktpSmRMQ0pxZEdraU9pSmpZVGxtTVdJMVlpMHpaRE5tTFRRME1qSXRZVEJqTWkwME9HVXdZVFF3WmprM1pUSWlMQ0pqYkdsbGJuUmZhV1FpT2lKQmRYUm9JaXdpZFhObGNtNWhiV1VpT2lKNWNHdHFJbjAuaXpFSEVQRHFjMHI1QzREUFNuUjl3LXJLb1ctdGJ6MkJYd0JCVUg5d0RYRSIsImNsaWVudF9pZCI6IkF1dGgiLCJ1c2VybmFtZSI6Inlwa2oifQ.89ElkIrZ3RBnFZBH00rLIiRP0a5xyT3m93DmpS0ToZ4
=xxxx" www.lj.com -v

  • -A (or ––user-anget): 设置 User-Agent字段
  • -b(or ––cookie) : 设置 Cookie字段
  • -e(or ––referer):设置 Referer 字段

curl是一个测试网络请求的工具,可以用来做后端接口测试
可以使用java语言,生成一条curl命令,然后根据java的动态编译功能,执行curl命令,以达到自动化接口测试的功能。

显示详情

curl -v baidu.com

  • 这样我们调用接口就可以显示详情数据了。有助于我们定位问题,简直就是神器

自动重定向

  • 在网站开发重定向应该是很常见的,俺么在CURL中也是有相应的功能的。在CURL中 -L 完成
curl -L www.sina.com

总结

  • 当你使用curl 向一个URL发送HTTP请求时,会使用一个默认的包含必要的头部字段(如: User-Agent,Host,Accept)的HTTP头。
  • curl 提供了大量有用的技巧,如代理支持、用户身份验证、FTP上传、HTTP发布、SSL连接、cookie、文件传输恢复等。
  • curl 的用法跟一般的linux/Unix 命令无异,一般语法如下。 crul -[选项] [URL]