这两个模块是用于发起网络请求的基础模块
import urllib,urllib2
urlopen(): 打开一个url地址,获取服务器端的响应。
response = urllib2.urlopen('http://www.baidu.com')
read()函数,用于读取响应的数据
result = response.read()
print(result)
通过urllib2模块中的Request类,可以发送POST请求或者GET请求
request = urllib2.Request('http://www.baidu.com')
response = urllib2.urlopen(request)
print(response.read())
add_data()向请求体中添加数据
has_data()判断请求体中是否有数据,源代码是通过has_data()函数的返回值来判断是POST请求还是GET请求
get_method()获取当前请求的请求方式
request.add_data('name=zhangsan&age=20')
print 'has_data:',request.has_data()
print '此次请求的请求方法:',request.get_method()
通过登录QQ邮箱,模拟POST请求
value_dict = {'u':'zhangsan', 'p':'123'}
urlencode()函数可以将一个字典对象,转化成为一个查询字符串,每一个键值对中间使用&进行链接
查询字符串:指的就是GET请求中URL地址后跟的参数,比如weather?location=郑州市&output=json&ak=UteasfdasjkfalFS
args = urllib.urlencode(value_dict)
print(args)
print(type(args))
request = urllib2.Request('https://mail.qq.com', data=args)
response = urllib2.urlopen(request)
res = response.read()
print(res)