requests - timeout

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了requests - timeout相关的知识,希望对你有一定的参考价值。

参考技术A 为防止服务器响应缓慢,导致客服端处理异常,requests请求大多设置 timeout 参数。Requests中 timeout 不设置默认值 。

Timeout 类型:

客户端timeout 秒内从基础套接字上必须接收到第一个字节的数据, 否则抛出超时异常。

timeout 设置单一的值,将会用作 connect 和 read 二者的 timeout。

如果要分别制定,就需要传入一个元组。

如果需要让 request 永远等待,则传入一个 None 作为 timeout 的值。

参考: requests

已解决TypeError: search() got an unexpected keyword argument ‘requests_timeout’

已解决(elasticsearch模块报错)TypeError: search() got an unexpected keyword argument ‘requests_timeout’





文章目录





报错代码



粉丝群里面的一个小伙伴想用elasticsearch 模块读取数据,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下:

from elasticsearch import Elasticsearch

es = Elasticsearch(["host": "服务器地址", "port": 端口号])
print(es.ping)

body = 'match':'name':'小鹏'
data = es.search(index='库名',doc_type='表名',body=body,size=10,requests_timeout=60)
print(data)


可以看到导包和传参没有任何问题,但是还是报错了:




报错信息如下







报错翻译



报错信息翻译

类型错误:search()获得意外的关键字参数“requests_timeout”




报错原因



报错原因

这是由于elasticsearch 版本更新导致的,粉丝使用的版本是: 5.5.3,就没有了requests_timeout这个参数了







解决方法



解决方法1:去掉requests_timeout参数查询即可

data = es.search(index='库名',doc_type='表名',body=body,size=10)

解决方法2:安装其他版本的elasticsearch 模块,可以尝试更新版本,或者安装低版本的试试


帮忙解决

本文已收录于:《告别Bug》专栏

本专栏用于记录学习和工作中遇到的各种疑难Bug问题,以及粉丝群里小伙伴提出的各种问题,文章形式:报错代码 + 报错翻译 + 报错原因 + 解决方法,包括程序安装、运行程序过程中等等问题,订阅专栏+关注博主后如遇到其他问题可私聊帮忙解决!!!

以上是关于requests - timeout的主要内容,如果未能解决你的问题,请参考以下文章

request.getScheme() request.getServerName() request.getServerPort() request.getContextPath()(示例(代码

request.getParameter()request.getInputStream()和request.getReader()

request.getParameter() request.getInputStream()和request.getReader()三者的区别

Requests库入门

urllib.request.Request

Python爬虫 requests -- requests的安装和基本使用requests的get请求 / post请求requests ip代理