浏览器头信息

常规头信息:

Remote Address:远程ip地址,如:120.123.33.34、120.123.33.34:80

Request URL:请求URL,如:http://yangzhinian.com/test.js

Request Method:请求方式,最常见GET、POST

Status Code:状态码,如:200、404、304

 

请求头信息:

Accept:告诉WEB服务器自己接受什么介质类型,如:text/css

Accept-Encoding: 浏览器申明自己接收编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)

Accept-Language::浏览器申明自己接收语言跟字符集区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等。

Connnection:可以取值close/keep-alive

  • close:告知WEB服务器或者代理服务器,在完成本次请求响应后,断开连接,不要等待本次连接后续请求
  • keep-alive:告知WEB服务器或者代理服务器,在完成本次请求响应后,保持连接,等待本次连接后续请求

Host:客户指定自己想访问WEB服务器域名/IP 地址和口号

Referer:浏览器向WEB 服务器表明自己是从哪个网页/URL跳转到当前网址/URL

User-Agent: 浏览器表明自己身份(是哪种浏览器)

 

响应头信息:

Access-Control-Allow-Origin:响应文件域名限制,如:设置为http://yangzhinian.com,那么只有在不跨域情况下才能请求这个文件

Cache-Control:可以取值public/private/no-cache/no-store/max-age/min-fresh/max-stale

  • public:指示响应可被任何缓存区缓存
  • private:指示对于单个用户整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户部分响应消息,此响应消息对于其他用户请求无效
  • no-cache:指示请求或响应消息不能缓存,则cache 不能使用响应来满足随后请求,它必须成功与源头服务器校验之后才可以
  • no-store:用于防止重要信息被无意发布。在请求消息中发送将使得请求和响应消息都不使用缓存。这个指令适用于整个消息,可以应用在请求头或者响应头中。如果在请求中发送,则一个cache不能存储这个请求或者随后响应。如果发送在响应中,一个cache不可以存储响应任何部分以及相关部分
  • max-age:指示客户愿意接受存活时间不大于这里指定描述响应。除非max-stale也存在,否则客户将不愿意接受不新鲜响应
  • min-fresh:客户要一个新鲜时间至少是这么多响应
  • max-stale:指示客户愿意接受一个超过了过期时间响应。如果max-stale后面带有值,则它不能接受过期时间超过这个值响应,如果没有值,则可以接受任何时候过期响应

Connnection:可以取值close/keep-alive

  • close:告知WEB服务器或者代理服务器,在完成本次请求响应后,断开连接,不要等待本次连接后续请求
  • keep-alive:告知WEB服务器或者代理服务器,在完成本次请求响应后,保持连接,等待本次连接后续请求

Content-Encoding:WEB服务器表明自己使用了什么压缩方式(gzip/deflate)压缩响应中对象

Content-Type:WEB 服务器告诉浏览器自己响应对象类型。如:text/css、application/xml

Date:发送HTTP消息日期。例如:Date: Mon,10PR 18:42:51 GMT 

Expired:WEB服务器表明该实体将在什么时候过期,对于过期了对象,只有在与WEB服务器验证了其有效性后,才能用来响应客户请求

Last-Modified:WEB 服务器认为对象最后修改时间,比如文件最后修改时间, 动态页面最后产生时间等等

Server:标明Web服务器软件及其版本号头标。例如:Server: Apache/2.0.46(Win32) 

Transfer-Encoding:通用头标,标明对应被接受方反向消息体实施变换类型。例如:Transfer-Encoding: chunked 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是补充完整的代码,其中涉及到了您提到的4个步骤: ```python import os import requests # 创建用于存储网页文件的目录 if not os.path.exists('step1/webpages'): os.makedirs('step1/webpages') # 豆瓣电影Top250共有10个页面,每个页面上有25部电影的简要信息 for i in range(10): # 构造完整的网页url url = 'https://movie.douban.com/top250?start={}&filter='.format(i * 25) # 模拟浏览器信息 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 获取响应信息r r = requests.get(url, headers=headers) # 构造完整的保存目录及文件名path path = 'step1/webpages/page{}.txt'.format(i + 1) # 将响应文本保存到文件中 with open(path, 'w', encoding='utf-8') as f: f.write(r.text) ``` 在这段代码中,我们首先创建了一个名为`step1/webpages`的文件夹来存储网页文件。然后,我们循环遍历豆瓣电影Top250的10个页面,对于每个页面,我们构造完整的网页url,并使用requests库向该url发送HTTP请求。为了模拟浏览器的行为,我们设置了headers参数,其中包含了User-Agent信息。获取响应信息后,我们构造了完整的保存目录及文件名path,然后将响应文本保存到该文件中。 请将上述代码保存到名为`get_webpages.py`的文件中,并在终端中执行以下命令来运行代码: ``` python get_webpages.py ``` 代码执行完毕后,您可以在`step1/webpages`目录下找到所有网页源代码文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值