• requests简单使用


    • requests有get,post,put,delete,head,options

    为url传递参数

    >>> payload = {'key1': 'value1', 'key2': 'value2'}
    >>> r = requests.get("http://httpbin.org/get", params=payload)
    r.text获得响应内容
    r.encoding解码
    r.content或者二进制响应内容
    r.json()解开返回信息中的json
    r.status_code获得响应码
    r.status_code==requests.codes.ok看网站是否能打开
    r.raise_for_status()抛出404异常
    r.headers查看headers
    r.cookies查看cookies

    发送Cookies:
    >>> url = 'http://httpbin.org/cookies'
    >>> cookies = dict(cookies_are='working')
    
    >>> r = requests.get(url, cookies=cookies)
    >>> r.text
    '{"cookies": {"cookies_are": "working"}}'
     
    定制headers:
    >>> import json
    >>> url = 'https://api.github.com/some/endpoint'
    >>> payload = {'some': 'data'}
    >>> headers = {'content-type': 'application/json'}
    >>> r = requests.post(url, data=json.dumps(payload), headers=headers)
    requests是自动重定向的,要追踪重定向,使用r.url,r.history可以看是否重定向
    >>> r = requests.get('http://github.com')
    >>> r.url
    'https://github.com/'
    >>> r.status_code
    200
    >>> r.history
    [<Response [301]>]

    allow_redirects 参数禁用重定向处理
    >>> r = requests.get('http://github.com', allow_redirects=False)
    >>> r.status_code
    301
    >>> r.history
    []

    timeout 参数设定的秒数时间之后停止等待响应
    
    

    错误与异常

    
    

    遇到网络问题(如:DNS查询失败、拒绝连接等)时,Requests会抛出一个ConnectionError 异常。

    
    

    遇到罕见的无效HTTP响应时,Requests则会抛出一个 HTTPError 异常。

    
    

    若请求超时,则抛出一个 Timeout 异常。

    
    

    若请求超过了设定的最大重定向次数,则会抛出一个 TooManyRedirects 异常。

    
    

    所有Requests显式抛出的异常都继承自 requests.exceptions.RequestException 。

     
  • 相关阅读:
    centos6.5升级gcc 4.4.7为最新版4.9.1
    vmware打开虚拟级断电情况下,无法找到虚拟机文件
    centos /usr/local 和/opt 安装软件你什么不同../configure --prefix=/usr...
    centos安装git
    P1207 双重回文数
    P1214 等差数列
    P1215 母亲的牛奶
    P1217 回文质数
    P3650 滑雪课程设计
    NOIP 2015[D2 T1] 跳石头
  • 原文地址:https://www.cnblogs.com/thouger/p/5068525.html
Copyright © 2020-2023  润新知