requests库之请求异常处理

利用requests发出请求时可能会发生异常,requests中有一个exception库用来区分这些异常。

http协议是基于tcp/ip协议的,tcp/ip三次握手,因此可以在请求中定义等待时间,超出等待时间仍未到达则请求失败。如requests.get(url,timeout=(3,7)),requests.get(url,timeout=10)

import json
import requests
from requests import exceptions

URL = ‘https://api.github.com‘

#构建uri
def build_uri(endpoint):
    return ‘/‘.join([URL,endpoint])

def timeout_request():
    try:
        response = requests.get(build_uri(‘user/emails‘),timeout=5)
        response.raise_for_status()
    except exceptions.Timeout as e:
        print(e)
    except exceptions.HTTPError as e:
        print(e)

if __name__==‘__main__‘:
    timeout_request()
时间: 2024-12-30 18:58:08

requests库之请求异常处理的相关文章

请求库之requests库

目录 介绍 基于GET请求 1.基本请求 2.带参数的GET请求->params 带参数的GET请求->headers 带参数的GET请求->cookie 基于POST请求 1.介绍 2.发送post请求,模拟浏览器的登录行为 requests.session()自动帮我们保存cookie信息 补充 响应response respone属性 获取二进制数据 爬取大文件 解析json数据 SSL Cert Verification 使用代理 超时设置 异常处理 上传文件 介绍 #介绍:使用

大概看了一天python request源码。写下python requests库发送 get,post请求大概过程。

python requests库发送请求时,比如get请求,大概过程. 一.发起get请求过程:调用requests.get(url,**kwargs)-->request('get', url, **kwargs)-->session.request(method="get", url=url, **kwargs)-->session.send(request, **kwargs)-->adapter.send(request, **kwargs)-->

python网络爬虫之requests库

Requests库是用Python编写的HTTP客户端.Requests库比urlopen更加方便.可以节约大量的中间处理过程,从而直接抓取网页数据.来看下具体的例子: def request_function_try():     headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0'}     r=requests.get(url="http://www

python requests库学习笔记(上)

尊重博客园原创精神,请勿转载! requests库官方使用手册地址:http://www.python-requests.org/en/master/:中文使用手册地址:http://cn.python-requests.org/zh_CN/latest/: requests库作者Kenneth Reitz个人主页:https://www.kennethreitz.org/: requests库github地址:https://github.com/requests/requests: requ

requests库结合selenium库共同完成web自动化和爬虫工作

我们日常工作中,单纯的HTTP请求,程序员都倾向于使用万能的python Requests库.但大多数场景下,我们的需求页面不是纯静态网页,网页加载过程中伴随有大量的JS文件参与页面的整个渲染过程,且页面的每一步操作可能都能找到异步加载XHR的影子.所以Requests库不是万能的,Requests-Html库就能解决一部分问题,前提是您知道这个过程加载了哪些js文件.小爬的实际工作中,更倾向于Requests+selenium的模式来完成整个网页信息的爬取. 能用Requests库直接请求获得

第二周_自动化接口测试:requests库使用

目录: 一. 第一周_接口手工测试:网络基础知识.抓包.Postman回顾,Pycharm安装教程和问题 二. Requests库介绍 三. 请求发送 四. 响应解析 五. 参数化 六. 断言 七. 其他(认证/关联/异步接口) 一.第一周_接口手工测试:网络基础知识.抓包.Postman回顾 Pycharm安装教程和问题 Pycharm安装教程 安装:https://www.cnblogs.com/QYGQH/p/7569769.html 第一步:打开界面 第二步:选择代码路径和Python解

Requests库的几种请求 - 通过API操作Github

本文内容来源:https://www.dataquest.io/mission/117/working-with-apis 本文的数据来源:https://en.wikipedia.org/wiki/International_Space_Station 本文摘要:通过requests库和github的api来操作github仓库,从而熟悉一下与网络数据交互的过程 API(Application Program Interface)的作用是查询和返回网络上的动态数据,譬如股票的价格信息和新闻的实

使用requests库提交multipart/form-data 格式的请求

前言: Requests是用Python语言编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库.它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求.更重要的一点是它支持Python3哦! 一.安装 Requests >>>pip3 install requests 二.multipart/form-data 格式的请求举例 如下图所示,请求里面有4个参数:handle,option,modify_offer_type,Filedata

异步请求Python库 grequests的应用和与requests库的响应速度的比较

requests库是python一个优秀的HTTP库,使用它可以非常简单地执行HTTP的各种操作,例如GET.POST等.不过,这个库所执行的网络请求都是同步了,即cpu发出请求指令后,IO执行发送和等待等操作,在这段IO执行的时间里,cpu什么也不做,这样cpu的计算能力就被浪费了.所以,可以尝试把网络请求修改为异步的,也就是在IO发挥作用的这段时间,CPU去做这个程序里的其他事情,等IO收到响应的数据,CPU回来处理.偶然发现下面的帖子特分享与大家,并与requests库进行简单响应速度比较