zoukankan      html  css  js  c++  java
  • requests--超时设置,代理设置,身份认证

    超时设置

    你可以告诉 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"
    }
  • 相关阅读:
    修改MyEclipse8.5的workspaces
    Wamp设置虚拟目录
    WPF实现无刷新动态切换多语言(国际化)
    WPF的ComboBox简单用法
    particles.js在vue上的运用
    Vue项目中的RSA加解密
    【转】VUE 爬坑之旅-- 如何对公共JS,CSS进行统一管理,全局调用
    linux安装成功后怎么调出终端
    第一个shell脚本
    背景图片固定不随页面上下滚动而滚动 ,属性 background-attachment
  • 原文地址:https://www.cnblogs.com/zouzou-busy/p/11407673.html
Copyright © 2011-2022 走看看