urlopen方法
User-agent
from urllib.request import urlopen url = 'http://www.bing.com' response = urlopen(url) with response: print(type(response)) print(response.status,response.reason) print(response.geturl()) print(response.closed)
urllib.parse模块
从运行结果来看冒号,斜杆,&,等号,问号等符号全部被编码,%之后实际上是单字节十六进制表示的值.
一般来说url中的地址部分,一般不需要使用中文路径,但是参数部分,不管GET还是POST方法,提交的数据中,可能有斜杠,等号,问号,等符号,这样这些数字符表示数据,不表示元字符.如果直接发给服务器,就会导致接受方无法判断谁是元字符,谁是数据了.为了安全,一般会将数据部分的字符做url编码,这样就不会有歧义了.后来可以传送中文,同样会做编码,一般先按照字符集encoding要求转换成字节序列,每一个字节对应的十六进制字符串加上百分号即可.
# urlencode函数第一参数要求是一个字典或者元组序列 from urllib import parse d = { 'id':1, 'name':'tom', 'url':'http://www.baidu.com' } u = parse.urlencode({'wd':'海'}) url = 'http://www.baidu.com?' + u print(url)
提交方法method
最常用的HTTP交互数据的方法是GET,POST