requests库用法

requests
        
    各种请求方式
        requests.post(url)
        requests.put(url)
        requests.delete(url)
        requests.head(url)
        requests.options(url)
    
    基本GET请求
        response = requests.get(url)
        response = requests.get(url?k1=v1&k2=v2)
        data = {
            'k1': 'v1',
            'k2': 'v2'
        }
        response = requests.get(url)
        print(response.text)      字符串类型
        print(response.content)    二进制类型, params=data)
        print(response.json())
        print(json.loads(response.json())
        
        获取二进制数据
        response = requests.get(url)
        print(response.text)      字符串类型
        print(response.content)    二进制类型
        
        with open ('文件名', 'wb') as f:
            f.write(response.content)
            f.close()
        
    添加headers
        headers = {
            ...
        }
        response = requests.get(url, headers = headers)
    
    基本post请求
        data = {
            ...
        }
        response = requests.post(url, data=data)
    
    响应
        response = requests.get(url)
        print(type(response), response)
        print(type(response.status_code), response.status_code)
        print(type(response.text), response.text)
        print(response.cookies)
        print(response.url)
        print(response.history)
    
    文件上传
        files = {'flie': open('文件名', 'rb')}
        response = requests.post(url, files=files)
    获取cookie
        response = requests.get(url)
        for key, value in response.cookies.items():
            print(key+'='+value)
    会话维持
        s = requests.Session()
        s.get('http://httpbin.org/cookies/set/number/123456')
        response = s.get('http://httpbin.org/cookies')
        print(response.text)
        
    证书验证
        verify默认为True
        response = requests.get(url, verify=False)
        print(response.status_code)
        
        消除警告信息
            from request.packages import urllib3
            urllib3.disable_warnings()
            response = requests.get(url, verify=False)
            print(response.status_code)
        
        使用本地指定证书
            response = requests.get(url, cert=('/path/server.crt', '/path/key'))
    
    代理设置
        proxies = {
            'http': 'http://ip:port',
            'https': 'https://ip:port',
        }
        respponse = requests.get(url, proxies=proxies)
        
        有密码的代理
            proxies = {
                'http': 'http://user:password@ip:port',
            }
    超时设置
        response = requests.get(url, timeout=1)
        
    认证设置
        from requests.auth import HTTPBasicAuth
        r = requests.get(url, auth=HTTPBasicAuth('user', 'password'))
        
    异常处理
        from requests.expections import ReadTimeout, ConnectionError, RequestException
        try:
            response = requests.get(url, timeout=0.5)
            print(response.status_code)
        except ReadTimeout:
            print('Timeout')
        expect ConnectionError:
            print('Connection Error')
        expect RequestException:
            print('Error')
        
    
    

猜你喜欢

转载自blog.csdn.net/juyuyh/article/details/81088206