我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python Requests 初级

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python Requests 初级

一、介绍

    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 异常。

        


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python Requests 初级

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

下载Word文档

猜你喜欢

python Requests 初级

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

python requests 高级用法

本篇文档涵盖了 Requests 的一些高级特性。 会话对象会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 urllib3 的 connection pooling 
2023-01-31

python json requests

1、json 通过Python的json模块,可以将字符串形式的json数据转化为字典,也可以将Python中的字典数据转化为字符串形式的json数据。之前使用这个模块时,都是随用随查,浅尝辄止,对模块的功能了解不深。随着使用次数的增加,我
2023-01-31

python requests post

环境: : python3后台:java触发环境 使用 requests  post提交数据时,报错如下:Java 异常: com.alibaba.fastjson.JSONException: syntax error, pos 1, j
2023-01-31

python--的初级了解

python的简史• 1989年,Guido(龟叔)python。• 1990年, 发布python的第一个版本;• 2001年发布python2.0版本;• 2010年获年度Tiobe编程语言大奖• 2013年发布python3.x版本;
2023-01-31

python requests 带coo

背景:获取需要登录的页面,可在登陆后将获取到的cookie添加到请求的脚本中。方法:import requestsurl="http://webserver/admin"cookies = dict(cookies_are='cookie内
2023-01-31

Python pip升级指南:从初级到高级

从入门到精通:Python升级pip的完整教程简介:Python是一种广泛使用的编程语言,而pip是Python的包管理工具。随着Python的版本升级,有时我们需要升级pip以保持与最新的包兼容。本文将提供一个完整的教程,引导读者从入门
Python pip升级指南:从初级到高级
2024-01-18

Python初级面试语法

可变对象与不可变对象可变对象存的是地址,地址不变,但地址指向的值可以变(引用类型)。类型:list、dict、set等不可变对象直接存值,值变了,就是另一个对象了(值类型)。int、float、tuple、string等直接赋值,浅拷贝,深
2023-01-30

Python requests 安装与

Requests 是用Python语言编写HTTP客户端库,跟urllib、urllib2类似,基于 urllib,但比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求,编写爬虫和测试服务器响应数据时经常会用到
2023-01-31

python的requests库和url

python中有多种库可以用来处理http请求,比如python的原生库:urllib包、requests类库。urllib和urllib2是相互独立的模块,python3.0以上把urllib和urllib2合并成一个库了,request
2023-01-31

python中requests小技巧

关于 Python requests ,在使用中,总结了一些小技巧把,记录下。 1:保持请求之间的Cookies,我们可以这样做。2:请求时,会加上headers,一般我们会写成这样唯一不便的是之后的代码每次都需要这么写,代码显得臃肿,所
2022-06-04

python requests模块详解

requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib2提供了大部分需要的HTTP功能,但是A
2023-01-31

详解Python requests模块

前言 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更简洁方便。 Requests 继承
2022-06-02

Python Requests 基础入门

首先,Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 不友好。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务,所以学习reuqest
2022-06-04

python利用requests和thr

利用爬到的数据,基于Django搭建的一个最新电影信息网站:   n1celll.xyz  今天想利用所学知识来爬取电影天堂所有最新电影信息,用到的模块:    requests:用于获取网页信息    re:获取网页中具体想要的信息   
2023-01-31

python requests用法总结

python requests用法总结requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。可以说,Requests 完全满足如今网络的需求本文全部来源于官方文档:   http://doc
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录