今天介绍一下如何获取HTTP消息的请求头和响应头,请求头,顾名思义,就是包含在客户端发送给服务器的HTTP请求消息的头部,响应头包含在服务器响应客户端的请求消息的返回消息的头部。请求头中有客户端期望服务端该如何响应请求消息的信息,响应头中有服务端响应的方式,以下是通过HTTP请求百度服务的例子。

1、请求头

# -*- coding: utf-8 -*-
import requests                      #添加requests库url = 'https://www.baidu.com'        #将百度网址作为资源URL
r1 = requests.get(url)               #向百度服务器发送get请求
r2 = requests.head(url)              #向百度服务器发送head请求
r3 = requests.post(url)              #向百度服务器发送post请求
r4 = requests.put(url)               #向百度服务器发送put请求print(r1.request.headers)            #打印出get请求的请求头
print(r2.request.headers)            #打印出head请求的请求头
print(r3.request.headers)            #打印出post请求的请求头
print(r4.request.headers)            #打印出put请求的请求头

各请求的请求头信息如下,信息以"键-值对"的形式展示。

上面请求头各项解释如下,还有很多其他请求头的选项,这里不一一解释了。

请求头 描述 参数内容
User-Agent 告诉服务器,请求者的相关信息(版本号等信息) 'ser-Agent' : 'Mozilla/5.0 (Linux; X11)'
Accept-Encoding 告诉服务器,客户端支持的数据压缩格式 'Accept-Encoding' : 'compress, gzip'
Accept 告诉服务器,客户端支持的数据类型 'Accept' : 'text/plain, text/html'
Connection 告诉服务器,处理完这次请求,是断开连接还是保持连接 'Connection' : 'close'或者'keep-alive'
Content-Length 告诉服务器,本次请求多长的数据 'Content-Length' : '348'

2、响应头

import requestsurl = 'https://www.baidu.com'
r1 = requests.get(url)
r2 = requests.head(url)
r3 = requests.post(url)
r4 = requests.put(url)print(r1.headers)                #打印出服务器响应get请求的响应头
print(r2.headers)                #打印出服务器响应head请求的响应头
print(r3.headers)                #打印出服务器响应post请求的响应头
print(r4.headers)                #打印出服务器响应put请求的响应头

这样打印出来的内容太长,图片无法全部显示出来。

所以我们用dict()函数将响应头内容转化成字典格式,使用print()的升级版pprint()打印成竖行模式,比较美观,此时就需要import pprint库。

import requests
import pprinturl = 'https://www.baidu.com'
r1 = requests.get(url)
r2 = requests.head(url)
r3 = requests.post(url)
r4 = requests.put(url)pp = pprint.PrettyPrinter(indent=2)
pp.pprint(dict(r1.headers))
pp.pprint(dict(r2.headers))
pp.pprint(dict(r3.headers))
pp.pprint(dict(r4.headers))

r1.headers和r2.headers内容如下,内容稍微有点儿差异。head()方法的请求头少了两项,毕竟head()本就是请求HTTP消息请求头的内容。

    

r3.header和r4.header内容一致。

上面响应头各项解释如下,响应头也还有许多其他选项。

响应头 描述 参数内容
Cache-Control 告诉所有的缓存机制是否可以缓存及哪种类型 'Cache-Control' : 'no-cache'
Connection 处理完这次请求后,是断开连接还是继续保持连接 'Connection' : 'close'或者'keep-alive'
Content-Encoding web服务器支持的返回内容压缩编码类型 'Content-Encoding' : 'gzip'
Content-Length 服务器通过这个头告诉浏览器回送数据的长度 'Content-Length' : '348'
Content-Type 服务器通过这个头告诉浏览器回送数据的类型 'Content-Type' : 'text/html; charset=utf-8'
Date 返回响应消息的时间 'Date' : 'Tue, 15 Nov 2010 08:12:31 GMT'
Last-Modified 请求资源的最后修改时间 'Last-Modified' : 'Tue, 15 Nov 2010 12:45:26 GMT'
Pragma 包括实现特定的指令,它可应用到响应链上的任何接收方 'Pragma' : 'no-cache'
Etag 请求变量的实体标签的当前值 'ETag' : “737060cd8c284d8af7ad3082f209582d”
Server web服务器软件名称 'Server' : 'Apache/1.3.27 (Unix) (Red-Hat/Linux)'
Set-Cookie 设置Http Cookie 'Set-Cookie' : 'UserID=JohnDoe; Max-Age=3600; Version=1'
Transfer-Encoding 文件传输编码 'Transfer-Encoding' : 'chunked'

关于其他请求头和响应头选项的解释请戳这里https://www.cnblogs.com/unknows/p/8724872.html,这位博主写的很详细了,值得一看。

查看HTTP 各方法的消息请求头和响应头——get/head/post/put相关推荐

  1. php获取curl头_php中CURL请求头和响应头获取方法

    本文主要和大家分享php中CURL请求头和响应头获取方法,希望能帮助到大家. 1.从CURL中获取响应头$oCurl = curl_init(); // 设置请求头, 有时候需要,有时候不用,看请求网 ...

  2. ajax前后端通信的头部消息之请求头与响应头

    前后端在通信时,互相发送的消息包括头部消息和主体数据,而头部消息分为请求头和响应头两种. 请求头是前端发送,服务端获取. 响应头是服务端发送,前端获取. 设置请求头的规则: 请求头设置必须在open方 ...

  3. Chorme 浏览器查看请求头、响应头

    第一步:打开浏览器,按键盘上的F12,出现如下界面: 第二步:点击 Network, 点击 docs . 第三步:地址栏输入baidu.com,按回车. 第四步:会看到这里出现一个地址. 第五步:点击 ...

  4. 谷歌浏览器查看HTTP请求头与响应头

    用谷歌浏览器打开某个网页后,右击鼠标,选择[检查], 然后点击[network],再刷新一下(刷新的时候才会捕捉HTTP请求头.响应头给你看), 刷新之后,点击左边[name](其实是请求的网址)下面 ...

  5. Android系列之网络(二)----HTTP请求头与响应头

    一.HTTP头引入: 正确的设置HTTP头部信息有助于搜索引擎判断网页及提升网站访问速度.通常HTTP消息包括:客户机向服务器的请求消息和服务器向客户机的响应消息.客户端向服务器发送一个请求,请求头包 ...

  6. Request Headers 和Response Headers——请求头和响应头

    前沿 作为一个前端开发工程师看不懂每条请求的请求头和响应头,实在是一件很难受的事情.最近花了一些时间整理了一篇文档,一起来看看前后端交互时每个资源的信息. 谷歌浏览器调试工具--查看请求资源的信息数据 ...

  7. HTTP请求头与响应头

    本篇文章中,将学习一下HTTP请求头与响应头的知识. 一.HTTP头引入: 正确的设置HTTP头部信息有助于搜索引擎判断网页及提升网站访问速度.通常HTTP消息包括:客户机向服务器的请求消息和服务器向 ...

  8. 常用的HTTP请求头与响应头

    转载自:https://blog.csdn.net/qq_30553235/article/details/79282113 常用的HTTP请求头与响应头 HTTP消息头是指,在超文本传输协议( Hy ...

  9. HTTP请求头、响应头详解

    HTTP的头域包括通用头.请求头.响应头和实体头四个部分.每个头域由一个域名,冒号(:)和域值三部分组成(说白了就是键值对). 通用头:是客户端和服务器都可以使用的头部,可以在客户端.服务器和其他应用 ...

最新文章

  1. glibc降级后怎么恢复 linux_Linux(CentOS)GLIBC出错补救方式
  2. 墨奇科技汤林鹏:如何用 AI 技术颠覆指纹识别?
  3. 关于iostream的效率问题
  4. Java将异常入库_Exception异常库
  5. Android Handler的原理
  6. 学习编程做笔记的软件_可以在图片上做笔记的软件
  7. Visual Studio 2017 ASP.NET Core开发
  8. hadoop综述_Hadoop书籍赠品–综述
  9. 工作51:后端vue学习地址
  10. 在凡客四个月的工作总结
  11. kitti raw data development kit的使用
  12. .Net----Remoting 激活 激活方式
  13. 单行横向滑动的日历calendar控件
  14. MATLAB实现遥感图像分类——K均值算法
  15. [论]【DSTGCN】Dynamic SpatiotemporalGraph Convolutional Neural Networks for Traffic Data Imputation
  16. openGL基础光照“ADS”( Phone光照模型)(一)
  17. 数据库原理第四章测验(标黑的为答案)
  18. js实例之分解质因数
  19. MySQL教程——4 高级篇(性能调优、锁)
  20. Ant Design vue 改变表格背景颜色

热门文章

  1. 摆脱“悬赏”束缚,知识交易平台朝电商领域进发
  2. 把频谱图转换成声压级图
  3. 只需四步,即可轻松管理这些容易让人“忽视”的办公用品
  4. ChatGPT +工业机器人/自动驾驶控制器的一些尝试
  5. sqlalchemy查询,with_entities,label的使用
  6. 含泪整理最优质表情包设计模板素材,你想要的这里都有
  7. gitee怎么看用户名_使用Gitee
  8. 清华陈文光教授:AI 超算基准测试的最新探索和实践。道翰天琼认知智能平台为您揭秘新一代人工智能。
  9. 字节收购“影拓邦”,在线票务市场迎新一轮竞速赛?
  10. 九宫格输入法-字符串处理方法