request timeout是什么意思?这篇文章告诉你答案

很多小伙伴不知道我们的request timeout是什么意思 , 那么今天小编就通过这篇文章来给大家讲解一下什么是request timeout , 感兴趣的小伙伴可以耐心阅读一下这篇文章 。

request timeout是什么意思?这篇文章告诉你答案

文章插图
首先我们来看看timeout是什么意思?timeout的中文意思的超时的意思 , 那么在我们的编程中 , 为了防止服务器不能及时响应 , 大部分发到外部服务器的请求都应该要带着timeout参数 , 在一般的情况下 , 除非制定了timeout值 , requests是不会自动进行超时处理的 。
连接超时是指什么?其实连接超时就是指我们的客户端到远端机器接口到连接 , request会等待的秒数 。一个非常nice的实践方法就是把连接超时设置为比3倍数略大的一个数值 。
我们在进行爬虫代理这一块我们经常会遇到请求超时的问题 , 代码就卡在哪里 , 不报错也没有requests请求的响应 。
通常的处理是在requests.get()语句中加入timeout限制请求时间 。
req = requests.get(url, headers=headers, proxies=proxies, timeout=5)如果发现设置timeout=5后长时间不响应问题依然存在 , 可以将timeout里的参数细化 , 作出如下修改后 , 问题就消失了:
req = requests.get(url, headers=headers, proxies=proxies, timeout=(3,7))timeout传入一个元组(3,7)第一位是connect连接的超时时间 , 第二位是read读取的超时时间
如果在使用timeout过程中遇到ValueError错误提示(类似:ValueError: Timeout value connect was Timeout(connect=2.0, read=2.0, total=None), but it must be an int or float. ) , 这是python-requests version 2.4.3-4版本的一个bug需要我们更新一下requests
【request timeout是什么意思?这篇文章告诉你答案】pip install -U requests
以上就是小编给大家带来的request timeout是什么意思的相关知识了 , 希望大家通过阅读小编的文章之后能够有所收获!如果大家觉得小编的文章不错的话 , 可以多多分享给有需要的人 。

    推荐阅读