Python - HTTP请求
http或超文本传输协议适用于客户端服务器模型。通常,Web浏览器是客户端,托管该网站的计算机是服务器。在python中,我们使用requests模块来创建http请求。它是一个非常强大的模块,可以处理简单请求和响应数据之外的http通信的许多方面。它可以处理身份验证,压缩/解压缩,分块请求等。
HTTP客户端以请求消息的形式向服务器发送HTTP请求,其中包括以下格式:
- 请求行
- 零个或多个标题(General | Request | Entity)字段后跟CRLF
- 空行(即CRLF前面没有任何内容的行),表示标题字段的结尾
- 可选的消息体
请求方法
请求方法指示对由给定Request-URI标识的资源执行的方法。该方法区分大小写,应始终以大写形式提及。下表列出了HTTP / 1.1中支持的所有方法。
SN | 方法和描述 |
---|---|
GET | 方法用于使用给定的URI从给定服务器检索信息。使用GET的请求应仅检索数据,并且不应对数据产生其他影响。 |
HEAD | 与GET相同,但它仅传输状态行和标题部分。 |
POST | 请求用于使用HTML表单向服务器发送数据,例如客户信息,文件上传等。 |
PUT | 用上传的内容替换目标资源的所有当前表示。 |
DELETE | 删除URI给出的目标资源的所有当前表示。 |
CONNECT | 建立到给定URI标识的服务器的隧道。 |
OPTIONS | 描述目标资源的通信选项。 |
TRACE | 执行消息循环测试以及目标资源的路径。 |
请求URI
Request-URI是统一资源标识符,用于标识应用请求的资源。以下是指定URI的最常用表单:
Request-URI = "*" | absoluteURI | abs_path | authority
SN | 方法和描述 |
---|---|
1 | 当HTTP请求不适用于特定资源但使用服务器本身时,将使用星号*,并且仅当使用的方法不一定适用于资源时才允许使用星号*。例如: OPTIONS * HTTP/1.1 |
2 | Request-URI的最常见形式是用于标识源服务器或网关上的资源。例如,希望直接从源服务器检索资源的客户端将创建到主机“www.w3.org”的端口80的TCP连接,并发送以下行:GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1 |
3 | Request-URI的最常见形式是用于标识源服务器或网关上的资源。例如,希望直接从源服务器检索资源的客户端将创建到主机“www.w3.org”的端口80的TCP连接,并发送以下行:GET /pub/WWW/TheProject.html HTTP/1.1; Host: www.w3.org |
注意绝对路径不能为空; 如果原始URI中不存在,则必须以“/”(服务器根目录)给出。
使用Python模块requests请求
- 安装
pip install requests
例
import requests
r = requests.get('https://map.baidu.com/')
print(r.text)
Python - HTTP请求相关推荐
- Python Socket请求网站获取数据
Python Socket请求网站获取数据 ---阻塞 I/O ->收快递,快递如果不到,就干不了其他的活 ---非阻塞I/0 ->收快递,不断的去问,有没有送到,有没有送到,. ...
- Python网络请求urllib和urllib3详解
1. 简介 urllib是Python中请求url连接的官方标准库,在Python2中主要为urllib和urllib2,在Python3中整合成了urllib. 而urllib3则是增加了连接池等功 ...
- python post请求参数为list_浅谈python3发送post请求参数为空的情况
post请求的时候如果不带参数,其实作用就跟get请求一样.我们在做接口测试的时候,发现开发就全部使用的post,get的作用就被这样的post空参数请求给替代了. 在Python代码请求,如下: c ...
- 生成的头_Python爬虫偷懒神器!快速一键生成Python爬虫请求头
今天介绍个神奇的网站!堪称爬虫偷懒的神器! 我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头( headers ),以 mdn 学习区为例,我们的请求头是这样的: 一般来说,我们只要添加 us ...
- Python requests请求禁止跳转重定向(判断是否为原请求链接)
python requests请求url,有些网站页面出现:网页不存在(404),301 & 302 跳转的问题,抓取到的页面不是原地址,而是跳转后的页面,通过使用禁止重定向来实现判断. 使用 ...
- python 网络请求类库 requests 使用
python 网络请求类库 requests 使用 requests是 为python封装的强大 REST 操作类库 github https://github.com/kennethreitz/re ...
- python request请求参数_使用python将请求的requests headers参数格式化方法
如下所示: import json # 使用三引号将浏览器复制出来的requests headers参数赋值给一个变量 headers = """ Host: zhan. ...
- python如何请求curl_Python爬虫偷懒神器 —— 一键构造请求头!
今天介绍个神奇的网站!堪称爬虫偷懒的神器! 我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头( headers ),以 mdn 学习区为例,我们的请求头是这样的: Python资源共享群:48 ...
- 在python中请求百度easyDL
在python中请求easyDL 导入所需的库 import requests import json import base64 access_token的获取 url_token = " ...
- python requests请求下载百度网盘文件
python requests请求下载百度网盘文件 注意:这里需要添加网盘账号的cookie值,可以手动登录账号复制cookie(浏览器登录账号后按F12 > 点击Network > 刷新 ...
最新文章
- Python实现多进程的4种方式
- WiFi的基本调制过程
- python __import__和import区别_Python中import 与__import__() 之间的区别比较
- 托管非托管_如何利用Kubernetes的力量来优化您的托管成本
- http请求过程_“HTTP请求的整个过程”与它引出了整个计算机网络知识图谱(一)...
- Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(二)
- 图片 富文本 粘贴_用C++实现富文本控件(中): 撤销
- 求一个数的最大公约数
- 第一章 .NET基础-C#基础
- mysql中设置字符,MySQL 修改默认字符集
- 向量叉积和点积混合运算_matlab中的向量的数量积和向量积
- [note] 电磁场和微波课组(一)——电磁学(电学部分)
- 研究生学习生活日记——新生见面第一次组会
- 深度学习笔记(八)—— 正则化[Regularization]
- 区块链大繁荣背后:我们需要引入「预言机」| 专访DOS团队
- “泰迪杯”挑战赛 - 通过Java实现中央空调系统的数据分析与控制策略
- qmake -v,出现错误:qmake: could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake‘: No such file or direc
- 制作启动盘的工具 Universal USB Installer (UUI) Screenshots
- E900V21E_mv310芯片_RTL8822BSwifi_卡刷固件
- Windows解锁网易云音乐客户端变灰歌曲
热门文章
- 不能在查询运算符(Contains 运算符除外)的 LINQ to SQL 实现中使用本地序列。
- 【matlab】eps 意义及用法
- html不能右键审查元素,禁止浏览器右键查看元素或F12审查元素并关闭页面
- Google浏览器强制刷新、清楚缓存(其他浏览器应该也行)
- Qt处理路径里的斜杠和反斜杠
- 环签名说的比较的好的一篇文章
- ABC库存(进销存)管理平台
- 华为回应波兰员工事件;支付宝 22 亿元买楼;快播王欣开干微信? | 极客头条...
- Kotlin 是什么?
- Modbus 功能码解析