码迷,mamicode.com
首页 > 其他好文 > 详细

requests--超时设置,代理设置,身份认证

时间:2019-10-13 15:03:26      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:http   print   服务   iges   身份认证   服务器   cat   bin   status   

超时设置

你可以告诉 requests 在经过以 timeout 参数设定的秒数时间之后停止等待响应。基本上所有的接口都应该使用这一参数。如果不使用,你的程序可能会永远失去响应

import requests

base_url = http://httpbin.org

params_data = {"user": "zou", "pwd": 31500}

r = requests.get(base_url + /get, params=params_data, timeout=5)  # 超时会抛个timeout的异常
print(r.url)
print(r.status_code)

代理设置

对于有些接口,一旦开始大规模频繁请求,服务器可能会开启验证,甚至把ip封掉,那么为了防止这种情况的发生,我们就需要开启代理来解决这个问题,在Requests中需要用到proxies这个参数

import requests

basic_url = http://httpbin.org
proxie = {https: http://61.135.217.7:80}  # 前面的是协议类型
r = requests.get(basic_url + /get, proxies=proxie, timeout=5)
print(r.text)

身份认证

有些接口需要认证之后才可以查看,如BasicAuth认证,DigestAuth认证等等认证方式。在python中使用auth来进行认证

import requests
from requests.auth import HTTPBasicAuth
from requests.auth import HTTPDigestAuth

basic_url = http://httpbin.org
# BasicAuth认证
r = requests.get(basic_url + /basic-auth/zou/666, auth=HTTPBasicAuth(zou, 666))
print(r.text)

# DigestAuth认证
r = requests.get(basic_url + /digest-auth/auth/zou/777, auth=HTTPDigestAuth(zou, 777))
print(r.text)

结果:

{
  "authenticated": true, 
  "user": "zou"
}

{
  "authenticated": true, 
  "user": "zou"
}

 

requests--超时设置,代理设置,身份认证

标签:http   print   服务   iges   身份认证   服务器   cat   bin   status   

原文地址:https://www.cnblogs.com/zouzou-busy/p/11407673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!