广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python Requests 初级
  • 410
分享到

python Requests 初级

pythonRequests 2023-01-31 00:01:44 410人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

一、介绍    Requests 是用python语言编写,基于 urllib,但是它比 urllib 更加方便,可以节约我们大量的工作,完全满足 Http 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比

一、介绍

    Requests 是用python语言编写,基于 urllib,但是它比 urllib 更加方便,可以节约我们大量的工作,完全满足 Http 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。更重要的一点是它支持 python3


二、用法   

    1、使用 Requests 发送网络请求

  import requests
  r = requests.get('https://GitHub.com/timeline.JSON')
  r = requests.post("http://httpbin.org/post")
  r = requests.put("http://httpbin.org/put")
  r = requests.delete("http://httpbin.org/delete")
  r = requests.head("http://httpbin.org/get")
  r = requests.options("http://httpbin.org/get")

    2、传递 URL 参数

    payload = {'key1': 'value1', 'key2': 'value2'}
    r = requests.get("http://httpbin.org/get", params=payload)

    通过打印输出该 URL,你能看到 URL 已被正确编码:

    print(r.url)
        http://httpbin.org/get?key2=value2&key1=value1

    3、响应内容

    r.text可以看到地址响应的内容

    Requests 会自动解码来自服务器的内容。大多数 unicode 字符集都能被无缝地解码。

    4、二进制响应内容

    你也能以字节的方式访问请求响应体

    r.content

    Requests 会自动为你解码 gzip 和 deflate 传输编码的响应数据。

    例:以请求返回的二进制数据创建一张图片:

   from PIL import Image
   from io import BytesIO
   i = Image.open(BytesIO(r.content))

    5、jsON 响应内容

    Requests 中也有一个内置的 JSON ×××

   import requests
   r = requests.get('https://github.com/timeline.json')

r.json() 如果 JSON 解码失败, r.json() 就会抛出一个异常。例如,响应内容是 401 (Unauthorized),尝试访问r.json() 将会抛出 ValueError: No JSON object could be decoded 异常。

    6、定制请求头

   url = 'https://api.github.com/some/endpoint'
   headers = {'user-agent': 'my-app/0.0.1'}
   r = requests.get(url, headers=headers)

    所有的 header 值必须是 string、bytestring 或者 unicode。

    7、更加复杂的 POST 请求

   payload = (('key1', 'value1'), ('key1', 'value2'))
   r = requests.post('http://httpbin.org/post', data=payload)
   print(r.text)
  (json直接传递)
   import json
   url = 'https://api.github.com/some/endpoint'
   payload = {'some': 'data'}
   r = requests.post(url, data=json.dumps(payload))

    8、响应状态码

    r.status_code(状态码)

    r.raise_for_status()   (抛出异常)

    9、响应头

    r.headers

    10、Cookie

 url = 'http://example.com/some/cookie/setting/url'
 r = requests.get(url)
 r.cookies['example_cookie_name']
 'example_cookie_value'
 发送你的cookies到服务器:(Cookie 的返回对象为 RequestsCookiejar)
 r = 'http://httpbin.org/cookies'
 cookies = dict(cookies_are='working')
 r = requests.get(url, cookies=cookies)
 r.text
 '{"cookies": {"cookies_are": "working"}}'

    11、重定向与请求历史

 默认情况下,除了 HEAD, Requests 会自动处理所有重定向。可以使用响应对象的 history 方法来追踪重定向。

 Response.history 是一个 Response 对象的列表,为了完成请求而创建了这些对象。这个对象列表按照从最老到最近的请求进行排序

    例:Github 将所有的 HTTP 请求重定向到 HTTPS:

   r = requests.get('http://github.com')
   r.url
   'https://github.com/'
   r.status_code
   200
   r.history
   [<Response [301]>]

    可以通过 allow_redirects 参数禁用重定向处理:

   r = requests.get('http://github.com', allow_redirects=False)
   r.status_code
   301
   r.history
   []

    12、超时

  你可以告诉 requests在经过以timeout参数设定的秒数时间之后停止等待响应。如果不使用,你的程序可能会永远失去响应:

  requests.get('http://github.com', timeout=0.001)

  注意:

  timeout仅对连接过程有效,与响应体的下载无关。timeout并不是整个下载响应的时间限制,而是如果服务器在timeout秒内没有应答,将会引发一个异常。

    13、错误与异常

    遇到网络问题(如:DNS 查询失败、拒绝连接等)时,Requests 会抛出一个 ConnectionError 异常。

    如果 HTTP 请求返回了不成功的状态码, Response.raise_for_status() 会抛出一个 HTTPError 异常。

    若请求超时,则抛出一个 Timeout 异常。

    若请求超过了设定的最大重定向次数,则会抛出一个 TooManyRedirects 异常。

        


--结束END--

本文标题: python Requests 初级

本文链接: https://www.lsjlt.com/news/182763.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python Requests 初级
    一、介绍    Requests 是用Python语言编写,基于 urllib,但是它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比...
    99+
    2023-01-31
    python Requests
  • python requests 高级用法
    本篇文档涵盖了 Requests 的一些高级特性。 会话对象会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 urllib3 的 connection pooling...
    99+
    2023-01-31
    高级 python requests
  • python--的初级了解
                                    python的简史• 1989年,Guido(龟叔)python。• 1990年, 发布python的第一个版本;• 2001年发布python2.0版本;• 2010年获年度...
    99+
    2023-01-31
    python
  • Python初级面试语法
    可变对象与不可变对象 可变对象存的是地址,地址不变,但地址指向的值可以变(引用类型)。类型:list、dict、set等 不可变对象直接存值,值变了,就是另一个对象了(值类型)。int、float、tuple、string等 直接赋值,浅...
    99+
    2023-01-30
    语法 Python
  • python requests post
    环境: : python3后台:java触发环境 使用 requests  post提交数据时,报错如下:Java 异常: com.alibaba.fastjson.JSONException: syntax error, pos 1, j...
    99+
    2023-01-31
    python requests post
  • python json requests
    1、json 通过Python的json模块,可以将字符串形式的json数据转化为字典,也可以将Python中的字典数据转化为字符串形式的json数据。之前使用这个模块时,都是随用随查,浅尝辄止,对模块的功能了解不深。随着使用次数的增加,我...
    99+
    2023-01-31
    python json requests
  • Python第四章作业(初级)
    目录 第1关 无参无返回值函数 第2关 无参有返回值函数 第3关 有参有返回值函数 第4关 多参函数 第5关 任意数量参数 第6关 pow函数详解 第7关 fabs() 函数 第8关 汽车迷 第9关 编写函数输出自除数 第10关 二分法求平...
    99+
    2023-10-04
    python 开发语言
  • python requests 带coo
    背景:获取需要登录的页面,可在登陆后将获取到的cookie添加到请求的脚本中。方法:import requestsurl="http://webserver/admin"cookies = dict(cookies_are='cookie内...
    99+
    2023-01-31
    python requests coo
  • Python中requests库
    文章目录 requests库一、 基本概念1、 简介2、 获取3、 http 协议3.1 URL3.2 常用 http 请求方法 二、 使用方法1、 基本语法requests 库...
    99+
    2023-09-07
    python http 开发语言
  • 【头歌-Python】Python第六章作业(初级)
    第1关:列表的属性与方法 任务描述 初始化一个空列表,输入一个正整数 n。 接下来,你将被要求输入 n 个指令,每得到一个指令后,根据指令的字符串进行对应的功能操作。 指令形式及对应功能如下: ins...
    99+
    2023-10-18
    python 开发语言 头歌
  • Python中第三方库Requests库的高级用法详解
    一、Requests库的安装 利用 pip 安装,如果你安装了pip包(一款Python包管理工具,不知道可以百度哟),或者集成环境,比如Python(x,y)或者anaconda的话,就可以直接使用pi...
    99+
    2022-06-04
    第三方 详解 高级
  • Python面向对象编程-初级篇
    前言面向对象 : 采用基于对象(实体) 的概念建立模型,模拟客观世界分析、设计、实现软件的办法。面向对象编程(Object-oriented Programming,简称 OOP)是一种解决软件复用的设计和编程方法,把软件系统中相近相似的操...
    99+
    2023-05-14
    Python 面向 对象
  • Python requests 安装与
    Requests 是用Python语言编写HTTP客户端库,跟urllib、urllib2类似,基于 urllib,但比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求,编写爬虫和测试服务器响应数据时经常会用...
    99+
    2023-01-31
    Python requests
  • Python 正则表达式入门(初级篇)
    引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计...
    99+
    2022-06-04
    入门 正则表达式 Python
  • python 网络爬虫初级实现代码
    首先,我们来看一个Python抓取网页的库:urllib或urllib2。 那么urllib与urllib2有什么区别呢? 可以把urllib2当作urllib的扩增,比较明显的优势是urllib2.url...
    99+
    2022-06-04
    爬虫 代码 网络
  • 27 Python的requests模块
    概述         在上一节,我们介绍了Python的logging模块,包括:logging的基本使用、logging的选项设置、日志旋转、logging.Filter类等内容。在这一节,我们将介绍Python的requests模块。r...
    99+
    2023-10-20
    python requests模块 GET POST 请求头 会话管理
  • python利用requests和thr
      利用爬到的数据,基于Django搭建的一个最新电影信息网站:    n1celll.xyz   今天想利用所学知识来爬取电影天堂所有最新电影信息,用到的模块:     requests:用于获取网页信息     re:获取网页中具体想...
    99+
    2023-01-31
    python requests thr
  • python requests用法总结
    python requests用法总结requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。可以说,Requests 完全满足如今网络的需求本文全部来源于官方文档:   http://doc...
    99+
    2023-01-31
    python requests
  • python—requests模块详解
    一、前言 1、requests简介 requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,它是python语言的第三方的库,专门用于发送HTTP请求,使用...
    99+
    2023-09-04
    python 开发语言 requests 网络爬虫
  • 详解Python requests模块
    前言 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更简洁方便。...
    99+
    2022-06-02
    Python requests模块 Python模块
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作