首页 > 其他分享 >请求头详解——Headers

请求头详解——Headers

时间:2023-08-02 16:58:02浏览次数:34  
标签:浏览器 请求 Accept Headers 详解 Referer Agent

请求头定义:

客户端,即浏览器通过输入url后确定等于做了一次向服务器的请求动作,在这个请求里面带有请求参数,请求参数的集合即为请求头。

请求头的参数(常用的):

  • Accept:浏览器可接收的文件类型
  • Accept-Charset:浏览器可以接收的编码类型
  • Accept-Encoding:浏览器可以接收的压缩编码类型
  • Accept-Language:浏览器可以接收的语言和国家类型
  • Host:请求的主机地址和端口
  • If-Modified0-Since:页面的缓存时间
  • Referer:请求来自哪个页面的url(防盗链)
  • User-Agent:用户代理,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等等
  • Cookie:浏览器暂存服务器发送的信息
  • Connection:表示HTTP请求版本的特点
  • Date:请求网站的时间
  • Upgrade-Insecure-Requests:告诉服务器,浏览器可以处理HTTPS协议
  • X-Requested-With:判断是否Ajax请求

要点:

  • 一个标准的请求头基本上都带有以上属性
  • 网络爬虫中,用户代理一般情况下是一定要添加的,因为反爬通常检测请求头的Referer和User-Agent,其他属性可以根据实际情况进行添加
  • Cookie不能添加到请求头中

网页中的标准请求头(以百度首页为例):

  1. 点击F12,在出现的开发者工具中按Ctrl+R刷新
  2. 选中网络->全部->www.baidu.com->标头->请求标头
  3. 会得到如下请求头

     

Python中的请求头(以字典格式显示):

 1 Headers = {
 2     "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
 3     "Accept-Encoding":"gzip, deflate, br",
 4     "Accept-Language":"zh-CN,zh;q=0.9",
 5     "Cache-Control":"max-age=0",
 6     "Connection":"keep-alive",
 7     "Cookie":"BIDUPSID=BC40ABCFC55CAEBB40A1B38D53D9D83A; PSTM=1689932563; ZFY=5KdmWWi07wZbDhm0Nnm3OceuU7HDKPjfyw:BKIMIdKAg:C; jsdk-uuid=6b87a4d6-171e-40e8-8759-dfc4df2a1e25; BAIDUID=F765705D65C8FA866BA1B07CB00C4B89:FG=1; BD_HOME=1; H_PS_PSSID=36551_39109_39115_39121_39039_38917_38825_39087_26350_39138_39132_39100_39043; BAIDUID_BFESS=F765705D65C8FA866BA1B07CB00C4B89:FG=1; BD_UPN=12314753; BA_HECTOR=258185048h8424842l2l802m1ick4j61p",
 8     "Host":"www.baidu.com",
 9     "Referer":"https://cn.bing.com/",
10     "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.188"
11 }

 

如上并没有将开发者工具显示的请求头全部加入,网络爬虫根据需要添加即可

 

写在最后:

我是君妄,一名刚刚开始接触爬虫的小白,希望和大家学习交流,同时指正我的不足。

 

 

  

标签:浏览器,请求,Accept,Headers,详解,Referer,Agent
From: https://www.cnblogs.com/dytydykyjy666666/p/17601108.html

相关文章

  • js 发起get请求
      leta=document.createElement('img');a.src='/_xxxxxx=1&e=0.5609369440726193'在浏览器中,当创建一个图片元素并设置src属性时,浏览器会根据该路径发送一个HTTP请求,请求该路径对应的资源文件。这个资源文件可以是一张图片、一个音频文件、一个视频文件或者其他可以......
  • vue中使用axios发送请求时在header中设置请求头发现请求发送两次
    问题:vueaxios跨域请求,在RequestHeaders加Authorization传递Token时,发现统一请求触发了两次,第一次是RequestMethod:OPTIONS请求。原因:跨域请求时,浏览器会首先使用OPTIONS方法发起一个预请求,判断接口是否能够正常通讯。如果通讯异常,则不会发送真正的请求,如果测试通讯正常,则开......
  • antd upload vue3 取消请求,取消进行中的接口请求
    在使用antdupload组件时,大文件上传等待时长太久,在上传过程中想取消上传,即取消进行中的接口请求。不解释,上代码:importaxiosfrom'axios';<a-uploadv-model:file-list="fileList"name="file":multiple="true":action=......
  • maven-resources-plugin详解
    核心资料来源:maven-resources-plugin详解(csdn.net)maven-resources-plugin到低在什么场景下使用?他到底有什么作用?他和pom当中配置的resources标签又有什么关联?为什么有的项目使用了该插件而有的却没有?resources当中的filtering标签到低是干什么的?maven怎么打包过滤文件?......
  • flask as_view源码,请求响应,cookie,session
    1CBV1cbv写法 -1写个类,继承MethodView-2在类中写跟请求方式同名的方法-3注册路由:app.add_url_rule('/home',view_func=Home.as_view('home'))#home是endpoint,就是路由别名2cbv加装饰器 -方式一: classHome(MethodView): decorators=[auth]#......
  • 处理API请求并行问题
    背景:我们有一个导出全部数据的功能,因为各种原因,可能需要同时发送10几条请求来获取数据遇到的问题:因为浏览器http/1.1最多同时进行6个请求,所以会阻塞用户的其他操作打个比喻:之前我们是一个赛道,可以上6个任意国家的运动员,第七个人想上去就得排队现在改为了两个赛......
  • http请求
    http示例API代码Code从网络获取数据1 概述日常生活中我们使用应用程序看新闻、发送消息等,都需要连接到互联网,从服务端获取数据。例如,新闻应用可以从新闻服务器中获取最新的热点新闻,从而给用户打造更加丰富、更加实用的体验。那么要实现这样一种能实时从服务端获取数......
  • 镭拓详解塑料激光焊接机在汽车车灯塑料焊接上的应用
    编辑:镭拓激光随着激光焊接技术的快速发展与进步,激光技术应用深入到各个领域,尤其是在高精密制造业领域。比如汽车制造行业上,激光焊接技术的应用更为深刻和重要。不过很多人可能不知道是,汽车制造业使用到的激光焊接技术可不仅仅是一种。你激光焊接技术只是用在汽车车上的金属材料焊接......
  • git如何上传本地代码文件到git仓库【图文详解】
    第一步:新建代码库第二步:复制仓库地址第三步:在本地文件夹内右击,通过GitBashHere进入命令窗口,克隆复制的仓库地址    第四步:将你的项目添加至该文件夹下,通过命令进行添加至仓库主要命令1:gitinit(初始化仓库)2:gitadd.(这里的.表示添加所有文......
  • 使用 Axios 进行 HTTP GET 请求的详尽指南
    在进行网络请求时,axios 是一个非常常用的请求库。本文将介绍如何使用axios发起GET请求,并详细列出传参的几种写法。同时会提供一个实践案例,其中包含基本路由与请求处理的过程,并确保在IDE编辑器中可以顺利运行。什么是axios的GET请求?在开始之前,让我们简要了解一下axios......