HTTP请求(Request)详解

# HTTP请求(Request)
'''
当用户通过浏览器访问某个网站时,
浏览器会向网站服务器发送请求,这个请求就叫做HTTP请求。
请求包含的内容主要有:
请求方法(Request Method);
请求网址(Request URL);
请求头(Request Headers);
请求体(Request Body)。
'''

#为了更直观地说明这个过程,我们使用Chrome浏览器自带的“开发者工具”来查看浏览器发送的请求信息。
# 下面以访问百度(https://www.baidu.com/)为例来讲解。
'''
1.打开Chrome浏览器,按F12键,显示“开发者工具”栏。
2.在地址栏中输入百度网址https://www.baidu.com/,然后回车。
3.此时“开发者工具”栏抓去了许多浏览器请求及服务器响应信息。
'''

在这里插入图片描述

# 下面来看一下浏览器向百度的网站服务器发送了哪些信息。
#1.请求方法(Request Method)
'''
HTTP协议定义了许多与服务器交互的方法,最常用的是GET和PLST方法。
如果浏览器向服务器发送一个GET请求,
则请求的参数信息会直接包含在URL中。
例如在百度搜索栏中输入scrapy,单击"百度一下“按钮,就形成了一个GET请求。
搜索结果页面的URL变为https://www.baidu.com/s?wd=scrapy,
URL中问号(?)后面的wd=scrapy就是请求的参数,表示要搜索的关键字。

POST请求主要用于表单的提交。
表单中输入的卡号、密码等隐私信息通过POST请求方式提交后,
数据不会暴露在URL中,而是保存于请求体中,避免了信息的泄露。
'''

# 2.请求网址(Request URL)
'''
另外,还有一个选项Remote Address: 14.215.177.38:443,这是百度服务器的IP地址。
也可以使用IP地址来访问百度。
'''

# 3.请求头(Request Headers)
'''
请求头的内容在Headers选项卡中的Request Headers目录下,
如下图所示。请求头中包含了许多有关客户端环境和请求正文的信息,
比较重要的信息有Cookie和User-Agent等。
'''

在这里插入图片描述


'''
Accept:浏览器端可以接收的媒体类型。
text/html代表浏览器可以接收服务器发送的文档类型为text/html,也就是我们常说的HTML文档。
Accept-Encoding:浏览器接受的编码方式。
Accept-Language:浏览器所接受的语言种类。
Connection:表示是否需要持久连接。keep-alive表示浏览器与网站服务器保持连接;close表示一个请求结束后,浏览器和网站服务器就会断开,下次请求时需重新连接。
Cookie:有时也用复数形式Cookies,指网站为了提高用户身份、进行会话跟踪而存储在本地的数据(通常经过加密),由网站服务器创建。
例如当我们登录后,访问该网站的其他页面时,发现都是处于登录状态,这是Cookie在发挥作用。
因为浏览器每次在请求该站点的页面时,都会在请求头上加上保存有用户名和密码等信息的Cookie并将其发送给服务器,
服务器识别出该用户后,就将页面发送给服务器。
在爬虫中,有时需要爬取登录后才能访问的页面,通过对Cookie进行设置,就可以成功访问登录后的页面了。

Host:指定被请求资源的Internet主机和端口号,通常从URL中提取。

User-Agent:告诉网站服务器,客户端使用的操作系统、浏览器的名称和版本、CPU版本,以及浏览器渲染引擎、浏览器语言等。
在爬虫中,设置此项可以将爬虫伪装成浏览器。

'''
# 4.请求体(Request Body)
'''
请求体中保存的内容一般是POST请求发送的表单数据。
对于GET请求,请求体为空。
'''
  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值