每天进步一点点:Requests的超时(timeout)设置

在好久好久之前,曾经写过几篇关于Requests的文章,但是对于超时(timeout)却没有提及,最近看几个朋友讨论Requests的超时问题,所以特意学习了一下。


(图源 :pixabay)

简单测试

为什么要讨论超时的问题呢?因为Requests链接或者访问数据时,并没有默认的超时设置,这就意味着,如果服务器端故障,导致无法连接等问题,那么Request就可能等待一分钟乃至更长的时间(甚至无限期地等待)。

我们可以通过如下代码进行简单测试:

requests.get('https://github.com:8888')

上边的代码等同于如下代码:

r = requests.get('https://github.com:8888', timeout=None)

实际测试,在等待几分钟之后方返回(时间应该取决于服务器的设置):

Failed to establish a new connection: [Errno 110] Connection timed out’,))

而如果指定了timeout参数,那么当五秒钟过去,且并没有建立连接或者返回数据,那么就会返回Timeout错误:

requests.get('https://github.com:8888', timeout=5)

比如上述代码会返回类似如下内容:

‘Connection to github.com timed out. (connect timeout=5)’))

由此可见,设置timeout参数是多么重要。难怪Requests文档中提示:Nearly all production code should use this parameter in nearly all requests.

高级设置

朋友在微信群中转发过来的一篇文章中提及:

requests请求上设置的timeout判断的并不是整个请求的总时间,而是从与服务器连接成功后,客户端开始接受服务器的数据为计算起点的。

为此我特意找了一下Requests的文档,其中关于timeout参数的说明中说到:

The timeout value will be applied to both the connect and the read timeouts

也就是说,朋友转发来的内容要么是错误的,要么是过时的。(所以看资料还是应该去官网)

除了用一个timeout指定超时参数外,也可以分别指定连接以及读取数据的超时时间,指定方法如下:

r = requests.get('https://github.com', timeout=(3.05, 27))

关于连接超时时间,从经验上看,一般设置为比3略大的数字,详细原因如下:

It’s a good practice to set connect timeouts to slightly larger than a multiple of 3, which is the default TCP packet retransmission window.

没想到小小的timeout参数还有这么多说道啊,看来以前了解的果然肤浅。

参考链接


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

This page is synchronized from the post: ‘每天进步一点点:Requests的超时(timeout)设置’

秃顶恐惧症

要说中年人尤其是程序员最容易遭遇也最怕的事情当中,秃顶绝对是可以排得上名次的。


(图源 :pixabay)

网上曾经流传一张程序员的技术等级图,

没错,通过头发的稀少程度,就可以判断一个程序员的技术等级啦。

几年前,为了让自己显得不像是一点水平都没有的样子,我决定将头发剃光,变得比代码救世主更加救世主的样子。然而这样做无疑是聪明绝顶和自作聪明的区别,我的代码水平一如既往的烂。

后来我楼下的阿姨不止一次对我说,好好一个年轻人,弄什么光头,看起来和劳改犯似的,于是我又开始留头发。

不过虽然头发留起来了,看起来不是那么秃,但是自己的事情只有自己知晓,无非是长长的头发挡住了秃掉的区域。每天洗脸的时候,照照镜子都在想,虽然现在正面看起来还好,但是什么时候会秃光呢?

昨晚做了一个梦,梦中和朋友们一起聚会痛饮,然后在一群秃顶和光头中我的头发看起来很是“丰满”,让我甚为满意。结果过一会一个朋友分享了一个从后边照的照片,如果前面看是森林的话,后边已然秃成了沙漠。


(图源 :pixabay)

被吓醒后,才发现自己对秃顶竟然如此恐惧,到了做噩梦的地步了。摸摸后脑勺,头发还在,心里安定了一点点,哎,还是好好珍惜头发还在的时光吧。


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

This page is synchronized from the post: ‘秃顶恐惧症’

肉夹馍 & 牛肉面

和朋友外出办事,到了中午,我说请他吃长安老碗的牛肉面吧,可是朋友表示他并不饿,让我自己吃就可以啦。

那怎么好意思呢,人家陪我出来办事,我自己吃东西不给他吃,想想就觉得这样做很是过分。

于是乎,我自己点了一大碗牛肉面,给朋友叫了一个肉夹馍,哈哈,好像也很过分呢?

不过长安老碗的牛肉面,味道还真是不错呢,百吃不厌啊。就是量有点大,一个人消灭一大碗,有些吃力啊。


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

This page is synchronized from the post: ‘肉夹馍 & 牛肉面’

薅羊毛不停歇

这两天薅招行的羊毛上瘾,没事就进招行的APP瞧瞧,看看有没有啥新活动的,不过发现自己的账户该有的活动都参加了,好像没啥新羊毛可薅了。


(图源 :pixabay)

倒是刷到几张五粮液400元的优惠券,不过对比京东看了一下,只不过比京东便宜了几十块钱,况且我喝白酒,几元的就行了。

那还有啥新羊毛可以薅,我陷入了深深的思索。咦,自己的账户没羊毛了,可以看看媳妇的账户啊,媳妇从来不弄这些东西,我用APP登录一下试试。

登录之后发现抽奖什么的乱七八糟的东西还不少,都看晕了,结果抽了半天抽了一堆积分啥的,最后总算在一个什么活动中抽到了飞利浦的电动牙刷HX9901/33。

虽然我还是喜欢用普通牙刷,不过中奖白送的,总得要啊,京东查了一下,同款商品要1099元呢,哈哈哈,这羊毛可以。

0元下单之后,很快就顺风到货啦。

拆包看了一下,果然挺高级的,比如说牙刷放玻璃杯里就可以无线充电,另外牙刷看起来也相当厚实,科技感十足。

不过刷头只附带了一个,据说注册还可以送一个,看来这玩意以后是一笔大开销啊。


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

This page is synchronized from the post: ‘薅羊毛不停歇’

拍卖会 (拍到双立人平底锅)😀

在一些小说中,我们常常会看到一些关于拍卖会的描写,奇珍异品轮番上台,参加拍卖会的大佬们挥金如土,真是让人羡慕。


(图源 :pixabay)

当然了,现实生活中也有一些拍卖会,比如说艺术品的、又比如说土地的、还有一些房产的,当然了,这些拍卖会我都没钱参与。

不过好在还有网拍,比如招行这次搞的消费积猫、十元风暴,原本我对一些集这集那的活动都是很反感的,因为一般都要拉人头,什么组队啥的。

拉人头就意味着打扰别人,类似拼多多的砍价啥的,其实就是牺牲人情换商品,商品倒是拿到了,不过一来二去,人情就淡了。

不过招行这个活动可以做任务,又可以靠消费积猫,我竟然不知不觉攒了141只小招猫🐱,哈哈,是不是可以参加拍卖会了,于是我果断地参加了1月6日这期拍卖会。

拍卖会的礼品很多,有手机、拉杆箱、智能电饭煲等等,不过这些过于热门的商品,我这点小招猫应该不够用,哈哈哈。

我把我的小招猫全消耗光啦

选了个不太热门的双立人平底锅套装,哈哈,抢拍成功啦

最低成交价是137小招猫,我出价141小招猫,几乎没有浪费,完美。

现在坐等收货啦,招行真会玩,哈哈。如果有时间有精力去弄,招行的小羊毛也不少呢。


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

This page is synchronized from the post: ‘拍卖会 (拍到双立人平底锅)😀’

咖啡蹭不到了,但是有大礼包

喜欢去招行办业务,不单单是服务好,而是因为夏天有冰爽的果汁,冬天有暖暖的咖啡,总让人有一种很舒服的感觉。

可是今天过去,发现咖啡机旁边的纸杯桶里一个纸杯都没有啦,哎,没法蹭免费咖啡了。这让我不禁思索,是不是因为我太能喝又经常去,所以让招行负担不起了呢?

不过还好,客户经理给我准备了一套坚果大礼包,说是大礼包其实就是搭配几样坚果而已,还都是最便宜的,什么开心果啊,松子啊,是没有的。😳

另外还有一组对联/红包/福字礼包,看了一下包装背面,原来是招商信诺发的。

我在想,如果我贴门上,是不是应该找他们要广告费呢?哈哈哈。

其实我最中意的收获还是这两本杂志啦,虽然现在基本上看文章都是电子阅读,不过偶尔看看纸版的,感觉还不错呢,招行这系列杂志内容也值得一看呢。

总之虽然没有蹭到咖啡,但是也算是不虚此行吧。


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

This page is synchronized from the post: ‘咖啡蹭不到了,但是有大礼包’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×