1. 程式人生 > >python 介面測試

python 介面測試

GET方法:

import urllib2
url_save = 'http://www.baidu.com/'
try:
    s_save = urllib2.urlopen(url_save).read()
    print s_save  
except urllib2.HTTPError, e:
    print e.code
except urllib2.URLError, e:
    print str(e)

POST:

def urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,
    cafile=None, capath=None, cadefault=False, context=None)
:

如上程式碼,urllib庫有一個很智慧的毛病。data不給值,訪問方式就是GET,data給了值,方式就會變成POST;所以模擬POST 方式的程式碼如下:

import urllib 
import urllib2 
url = 'http://www.example.com' 
# values的形式:name:value
values = {'**' : '***', 
          '**' : '***', 
          '**' : '***' } 
#使用urllib.urlencode函式對values字典進行處理,最終形式為:**=***&**=***
data = urllib.urlencode(values) #如果對data順序有要求,建議自己拼接data req = urllib2.Request(url, data) response = urllib2.urlopen(req) the_page = response.read()

cookie的使用
使用python獲取cookie所需要的庫叫做cookielib。獲取cookie的例子:

# 這裡有四種CookieJar,CookieJar是最原始的
cookie_use = cookielib.CookieJar()
handler = urllib2.HTTPCookieProcessor(cookie_use)
# 使用繫結好CookieJar的handler建立一個opener
opener = urllib2.build_opener(handler) # 將opener安裝到urllib2中 urllib2.install_opener(opener) # 使用安裝好的urllib2訪問某一網站獲取cookie urllib2.urlopen('https://....../login') #這個時候cookie已經被CookieJar獲取到了 print cookie_use

在下一步,將獲取到的cookie繫結到opener頭中:

'''
將獲取到的cookie繫結到opener,上一步獲取的cookie並不滿足如下格式,
需要自己進行字串的切片和拼接 
'''
opener.addheaders.append(('Cookie', 'name=***&888=888'))

轉自:https://www.cnblogs.com/hainan-zhang/p/5320153.html