1.發送get請求
第一種方法,注意,有些地方誤傳這種方法發送的post請求,實際這是發送的get請求,urllib.urlencode
明顯是get請求的編碼
url = 'http;//www.baidu.com'
postdata = dict('username' : 'admin', 'password':'notapass')
postdata=urllib.urlencode(postdata)
request = urllib2.Request(url, postdata)
try:
response = urllib2.urlopen(request)
except urllib2.URLError as ex:
import pdb; pdb.set_trace() # Use ipdb if installed
else:
result= response.read()
print result
或者,手動把參數編輯在url裏
url = 'http;//www.baidu.com?username=admin&password=notapass'
request = urllib2.Request(url, postdata)
try:
response = urllib2.urlopen(request)
except urllib2.URLError as ex:
import pdb; pdb.set_trace() # Use ipdb if installed
else:
result= response.read()
print result
2.發送post請求
不同之處在於,把發送的參數使用json格式編碼
url = 'http;//www.baidu.com'
postdata = dict('username' : 'admin', 'password':'notapass')
postdata = json.dumps(postdata)
request = urllib2.Request(url, postdata)
request.add_header('Content-Type','application/json')
try:
response = urllib2.urlopen(request)
except urllib2.URLError as ex:
import pdb; pdb.set_trace() # Use ipdb if installed
else:
result= response.read()
print result