主页 > 编程资料 > Python >
发布时间:2018-09-07 作者:apizl 阅读:331次

安装 requests 模块

# Python 2.x 版本
pip install requests

# Python 3.x 版本
pip install requests2

GET请求

import requests
# 这是一个错误一演示
# 通过Get请求方式获取源码

response = requests.get("https://www.apizl.com")

当你执行上面的代码,你会得到一个: requests.exceptions.SSLError这样的错误


这是因为requests在访问HTTPS时证书错误造成的,你可以关闭证书验证, 

正确的做法:

# 通过设置verify=False来关闭HTTPS验证
response = requests.get("https://www.apizl.com",verify=False )

判断请求结果:

print response.status_code
if response.status_code == requests.codes.ok:
    print("OK")
    # 确认状态正常
    # 执行网页解析操作等等
    # ...


带参数的Get请求:

# 直接请求地址
response = requests.get("https://www.apizl.com",verify=False )

# 构造参数请求
# 参数 p
p = {"key1":"value1","key2":"value2"}

response2 = requests.get("https://www.apizl.com", verify=False, params=p)

print response2.url 
# 结果是:  与直接请求地址是一样的

POST 请求:

# 构造参数请求
# 参数 p
p = {"key1":"value1","key2":"value2"}

response = requests.get("https://www.apizl.com", verify=False, data=p)


自定义请求头, 适用于一些有请求验证的网页:

# 定义一个headers

my_headers = {"Referer":"xxxx", User-Agent":"Test User-Agent"}

response = requests.get("https://www.apizl.com",verify=False, headers=my_headers )

超时设置, 使用timeout参数:

response= requests.get("https://www.apizl.com",timeout=10, verify=False )


关键字词: