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请求相关推荐

  1. Python Socket请求网站获取数据

     Python Socket请求网站获取数据 ---阻塞 I/O     ->收快递,快递如果不到,就干不了其他的活 ---非阻塞I/0 ->收快递,不断的去问,有没有送到,有没有送到,. ...

  2. Python网络请求urllib和urllib3详解

    1. 简介 urllib是Python中请求url连接的官方标准库,在Python2中主要为urllib和urllib2,在Python3中整合成了urllib. 而urllib3则是增加了连接池等功 ...

  3. python post请求参数为list_浅谈python3发送post请求参数为空的情况

    post请求的时候如果不带参数,其实作用就跟get请求一样.我们在做接口测试的时候,发现开发就全部使用的post,get的作用就被这样的post空参数请求给替代了. 在Python代码请求,如下: c ...

  4. 生成的头_Python爬虫偷懒神器!快速一键生成Python爬虫请求头

    今天介绍个神奇的网站!堪称爬虫偷懒的神器! 我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头( headers ),以 mdn 学习区为例,我们的请求头是这样的: 一般来说,我们只要添加 us ...

  5. Python requests请求禁止跳转重定向(判断是否为原请求链接)

    python requests请求url,有些网站页面出现:网页不存在(404),301 & 302 跳转的问题,抓取到的页面不是原地址,而是跳转后的页面,通过使用禁止重定向来实现判断. 使用 ...

  6. python 网络请求类库 requests 使用

    python 网络请求类库 requests 使用 requests是 为python封装的强大 REST 操作类库 github https://github.com/kennethreitz/re ...

  7. python request请求参数_使用python将请求的requests headers参数格式化方法

    如下所示: import json # 使用三引号将浏览器复制出来的requests headers参数赋值给一个变量 headers = """ Host: zhan. ...

  8. python如何请求curl_Python爬虫偷懒神器 —— 一键构造请求头!

    今天介绍个神奇的网站!堪称爬虫偷懒的神器! 我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头( headers ),以 mdn 学习区为例,我们的请求头是这样的: Python资源共享群:48 ...

  9. 在python中请求百度easyDL

    在python中请求easyDL 导入所需的库 import requests import json import base64 access_token的获取 url_token = " ...

  10. python requests请求下载百度网盘文件

    python requests请求下载百度网盘文件 注意:这里需要添加网盘账号的cookie值,可以手动登录账号复制cookie(浏览器登录账号后按F12 > 点击Network > 刷新 ...

最新文章

  1. Python实现多进程的4种方式
  2. WiFi的基本调制过程
  3. python __import__和import区别_Python中import 与__import__() 之间的区别比较
  4. 托管非托管_如何利用Kubernetes的力量来优化您的托管成本
  5. http请求过程_“HTTP请求的整个过程”与它引出了整个计算机网络知识图谱(一)...
  6. Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(二)
  7. 图片 富文本 粘贴_用C++实现富文本控件(中): 撤销
  8. 求一个数的最大公约数
  9. 第一章 .NET基础-C#基础
  10. mysql中设置字符,MySQL 修改默认字符集
  11. 向量叉积和点积混合运算_matlab中的向量的数量积和向量积
  12. [note] 电磁场和微波课组(一)——电磁学(电学部分)
  13. 研究生学习生活日记——新生见面第一次组会
  14. 深度学习笔记(八)—— 正则化[Regularization]
  15. 区块链大繁荣背后:我们需要引入「预言机」| 专访DOS团队
  16. “泰迪杯”挑战赛 - 通过Java实现中央空调系统的数据分析与控制策略
  17. qmake -v,出现错误:qmake: could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake‘: No such file or direc
  18. 制作启动盘的工具 Universal USB Installer (UUI) Screenshots
  19. E900V21E_mv310芯片_RTL8822BSwifi_卡刷固件
  20. Windows解锁网易云音乐客户端变灰歌曲

热门文章

  1. 不能在查询运算符(Contains 运算符除外)的 LINQ to SQL 实现中使用本地序列。
  2. 【matlab】eps 意义及用法
  3. html不能右键审查元素,禁止浏览器右键查看元素或F12审查元素并关闭页面
  4. Google浏览器强制刷新、清楚缓存(其他浏览器应该也行)
  5. Qt处理路径里的斜杠和反斜杠
  6. 环签名说的比较的好的一篇文章
  7. ABC库存(进销存)管理平台
  8. 华为回应波兰员工事件;支付宝 22 亿元买楼;快播王欣开干微信? | 极客头条...
  9. Kotlin 是什么?
  10. Modbus 功能码解析