python requests

python3 requests

import requests

# Python内置的urllib模块,用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。
# 更好的方案是使用requests。它是一个Python第三方库,处理URL资源特别方便
# pip install requests

proxy_dict = {
        "http": "http://username:password@openproxy.huawei.com:8080"
    }

def main():
    testThirdLib()
    testGetParameter()
    testPostParameter()
    
def testPostParameter():
    payload = {'key1': 'value1', 'key2': 'value2'}
    response = requests.post("http://httpbin.org/post", data=payload, proxies=proxy_dict)
    print(type(response))
    print(response.status_code)
    print(response.text)

def testGetParameter(): 
    payload = {'key1': 'value1', 'key2': 'value2'}    
    url = "http://www.baidu.com"
    # get请求还可以传递参数:
    # 上面代码向服务器发送的请求中包含了两个参数key1和key2,以及两个参数的值。实际上它构造成了如下网址:
    # http://httpbin.org/get?key1=value1&key2=value2
    response = requests.get(url, data=payload, proxies=proxy_dict)
    print(type(response))
    print(response.status_code)
    print(response.text)

def testThirdLib():
    # HTTP 错误407 需要代理身份验证 
    # HTTP 200 成功处理了请求,一般情况下都是返回此状态码 
    url = "http://www.baidu.com"
    # 其它的一些请求
    # r = requests.put("http://httpbin.org/put")
    # r = requests.delete("http://httpbin.org/delete")
    # r = requests.head("http://httpbin.org/get")
    # r = requests.options("http://httpbin.org/get")    
    response = requests.get(url, proxies=proxy_dict)
    print(type(response))
    print(response.status_code)
    print(response.text)
    print(response.encoding)
    print(response.content)
    print(response) 
    
if __name__ == '__main__':
    main()   

 

posted @ 2019-01-22 17:25  牧 天  阅读(141)  评论(0)    收藏  举报