基于python requests模块的HTTP接口测试(可做爬虫)实例代码

 
实例代码如下:
 
# -*- coding: utf-8 -*-
import requests
import json

url = 'http://localhost:3000/'

headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
           'Accept-Encoding': 'gzip, deflate, compress',
           'Accept-Language': 'en-us;q=0.5,en;q=0.3',
           'Cache-Control': 'max-age=0',
           'Connection': 'keep-alive',
           'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'}

# 采用会话对象,跨请求自动保持cookies
s = requests.session()
s.headers.update(headers)

# 访问首页 获取csrf 令牌
r = s.get(url=url)

print(r.cookies)
print(r.headers['Content-Type'])

# 获取cookies
cookies = r.cookies.__dict__

# 获取 csrf 值
_csrf_token = cookies['CSRF_TOKEN'].value
print(_csrf_token)

# 设置请求头 以便登陆时验证
headers['X-CSRF-TOKEN']= _csrf_token

# 设置请求类型为json
headers['Content-Type'] = 'application/json'
s.headers.update(headers)

# 登陆 以便后续请求默认登陆状态
x = s.post(url=str('%sapi/logon' % url), data=json.dumps({'identity': 'wanggangshan','auth_code': 'shanxing123'}))
print(x.url,x.status_code, x.text)
print(x.headers['Content-Type'], x.headers)


# get请求  获取信息
y = s.get(url=str('%sapi/list' % url))
print(y.text,y.headers)


# post请求  修改用户信息
y = s.post(url=str('%sapi/my/info/base_info' % url),
           data=json.dumps({'real_name': "XXX", 'grade_code': "02-2014", 'grade_type': 1,
                            'subject_classify': 0, 'qq': "58885855850"}))
print(y.url,y.status_code, y.text)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值