from urllib import request,parse
url = 'http://so.123.com.cn/'
headers = {
'User_Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.21 Safari/537.36',
'Referer':'http://so.123.com.cn/'
}
dict = {
'name':'hello'
}
data = bytes(parse.urlencode(dict),encoding='utf-8') #这串代码啥意思啊?打印了一下data,结果是name=hello,这个有啥作用呢?
req=urllib.request.Request(url=url,data=data,headers=headers,method='POST')#method传POST就说明是POST请求?这句代码是不是相当于把几个参数打包起来,赋给req后面一起处理啊?
response = request.urlopen(req)
print(response.read().decode('utf-8'))
parse.urlencode
方法的作用是把dict格式的参数转换为url参数,并以utf-8编码,可以拼接为HTTP请求。