用户代理
Coddy 使用终端进行网络通信 课程的第 44 课,共 47 课。
每个请求都会在 User-Agent 请求头中说明它来自什么客户端。curl 会发送自己的名称和版本;浏览器则会发送一长串沿用至今的字符串。
这比看起来更重要。服务器经常会根据它采取不同的行为:提供适合移动设备的布局、拦截未知客户端,或拒绝看起来像自动化程序的请求。所以,“在我的浏览器中能用,但在 curl 中不行”通常就是这个请求头的问题,没有更深层的原因。
curl -s -A 'my-monitor/1.0' http://127.0.0.1:9133/-A 用于设置它,它只是 -H 'User-Agent: ...' 的简写。
如果你对某项服务发送自动化请求,设置一个如实说明工具名称的 User-Agent 是一种礼貌做法:如果你的流量导致问题,值班人员就能看出问题是什么,以及该联系谁。
挑战
困难如实介绍自己。
- 在端口 9133 上启动捕获监听器
- 发送请求,并将自身标识为
my-monitor/1.0 - 打印
req.txt中的 user agent 行
预期输出:
User-Agent: my-monitor/1.0亲手试试
终端
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
使用终端进行网络通信中的所有课
自己练习: Terminal 在线编辑器