這個模塊是最基本最常用的,以前看過,總結一下
#?coding?:?utf-8
import?urllib
url?=?'http://cnblogs.com'
#代理服務器
proxies?=?{'http':'http://127.0.0.1:8087'}
#使用代理服務器打開
r?=?urllib.urlopen(url,proxies?=?proxies)
print?r.info()
print?r.getcode()
print?r.geturl()
#打開本地文件
f?=?urllib.urlopen(url?=?'file:/home/ma6174/a.sh')
print?f.read()
#打開ftp
#f?=?urllib.urlopen(url?=?'ftp://username:password@ftpaddress')
#保存網頁并顯示進度
def?cbk(a,?b,?c):
????????'''
????????a:?num
????????b:?size
????????c:?total
????????'''
????????per?=?100.0*a*b/c
????????if?per?>?100:
????????????????per?=?100
????????print?'%.2f%%'?%?per
local?=?'cnblogs.html'
urllib.urlretrieve(url,local,cbk)
#get方法
params?=?urllib.urlencode({'spam':?1,?'eggs':?2,?'bacon':?0})
f?=?urllib.urlopen("http://www.musi-cal.com/cgi-bin/query?%s"?%?params)
print?f.read()
#post方法
params?=?urllib.urlencode({'spam':?1,?'eggs':?2,?'bacon':?0})
f?=?urllib.urlopen("http://www.musi-cal.com/cgi-bin/query",?params)
print?f.read()
#編碼解碼
data?=?'name?=?~a+3'??
data1?=?urllib.quote(data)???
print?data1?#?result:?name%20%3D%20%7Ea%2B3???
print?urllib.unquote(data1)?#?result:?name?=?~a+3???
??
data2?=?urllib.quote_plus(data)???
print?data2?#?result:?name+%3D+%7Ea%2B3???
print?urllib.unquote_plus(data2)????#?result:?name?=?~a+3???
??
data3?=?urllib.urlencode({?'name':?'dark-bull',?'age':?200?})???
print?data3?#?result:?age=200&name=dark-bull???
??
data4?=?urllib.pathname2url(r'd:/a/b/c/23.php')???
print?data4?#?result:?///D|/a/b/c/23.php???
print?urllib.url2pathname(data4)????#?result:?D:/a/b/c/23.php ?
import?urllib
url?=?'http://cnblogs.com'
#代理服務器
proxies?=?{'http':'http://127.0.0.1:8087'}
#使用代理服務器打開
r?=?urllib.urlopen(url,proxies?=?proxies)
print?r.info()
print?r.getcode()
print?r.geturl()
#打開本地文件
f?=?urllib.urlopen(url?=?'file:/home/ma6174/a.sh')
print?f.read()
#打開ftp
#f?=?urllib.urlopen(url?=?'ftp://username:password@ftpaddress')
#保存網頁并顯示進度
def?cbk(a,?b,?c):
????????'''
????????a:?num
????????b:?size
????????c:?total
????????'''
????????per?=?100.0*a*b/c
????????if?per?>?100:
????????????????per?=?100
????????print?'%.2f%%'?%?per
local?=?'cnblogs.html'
urllib.urlretrieve(url,local,cbk)
#get方法
params?=?urllib.urlencode({'spam':?1,?'eggs':?2,?'bacon':?0})
f?=?urllib.urlopen("http://www.musi-cal.com/cgi-bin/query?%s"?%?params)
print?f.read()
#post方法
params?=?urllib.urlencode({'spam':?1,?'eggs':?2,?'bacon':?0})
f?=?urllib.urlopen("http://www.musi-cal.com/cgi-bin/query",?params)
print?f.read()
#編碼解碼
data?=?'name?=?~a+3'??
data1?=?urllib.quote(data)???
print?data1?#?result:?name%20%3D%20%7Ea%2B3???
print?urllib.unquote(data1)?#?result:?name?=?~a+3???
??
data2?=?urllib.quote_plus(data)???
print?data2?#?result:?name+%3D+%7Ea%2B3???
print?urllib.unquote_plus(data2)????#?result:?name?=?~a+3???
??
data3?=?urllib.urlencode({?'name':?'dark-bull',?'age':?200?})???
print?data3?#?result:?age=200&name=dark-bull???
??
data4?=?urllib.pathname2url(r'd:/a/b/c/23.php')???
print?data4?#?result:?///D|/a/b/c/23.php???
print?urllib.url2pathname(data4)????#?result:?D:/a/b/c/23.php ?