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

猜你喜欢

转载自blog.csdn.net/weixin_33127753/article/details/81013601