import flask(make_response),urllib,requests,base64
flask(make_response)模块能写入cookie
from flask import make_response导入模块
写入cookie;cookie是一个键值对
res =make_response('{"msg":"登陆成功",“sign”:“%s”,“usernmae”:“%s”}'%(sign,name))#先构建一个返回对象
res.setcookie(name,sign)#构建的对象 ,请求时加入到cookie
return res
res1 = request.get(url,data)#构建一个请求对象
获取header方法:res1.headers#
获取cookie方法:res1.cookies
urllib模块(请求接口用的模块)
from urllib.request import urlopen# urlopen它是用来打开一个连接 get请求
url = ‘’http://127.0.0.1:8000/login ‘’#先定义一个url;需要完整的url,带http
res = urlopen(url).read().decode()#返回的是bytes类型,是网站源代码html;Get请求
print(res.decode())#因为返回的是byts类型所以需要解码,返回的只是源代码
import json#引用json模块,因为返回的有可能是json串
res_dic = json.loads(res)#把返回源代码获取成json串,然后用json模块把json串转换成字典
from urllib.parse import urlencode # urlendode是用来打开一个连接 post请求请求
url = ‘’http://127.0.0.1:8000/login ‘’#先定义一个url;需要完整的url,带http
data={‘name’:‘hahaha’,“pwd”:123465}
parm = urlencode(data)
print(urlencode(data))#输出结果是 name=hahaha&pwd=123456,是把字典转成 K=V 这种形式
res = urlopen(url,parm.encode()).read().decode()#这个是发post请求;和get请求区别是有逗号,data传的是一个字典
requests模块(请求接口用的模块)
url = ‘’http://127.0.0.1:8000/login ‘’#先定义一个url;需要完整的url,带http
data={“username”:‘jmy’,“pwd”:123456}#定义一个字典
req = requests.get(url,data).text#如果是get请求就request.get;如果是post请求就是,requests.post;两个参数分别是(url,字典)
#req = requests.get(url+“?”+“username=jmy&pwd=123456”).text #url既有参数又有字典可以这么拼接请求
#print(req.json())返回报文是字典类型,如果接口返回的是json的话,才能用这个方法方法
#print(req.text)返回报文是字符串类型,字符串类型可以直接写入文件
入参类型是json
jn={“name”:“jmy”,“age”:18}
req1=requests.post(url,json=jn)#入参类型是json类型,一定要指定json=,传一个字典就行
#req1=requests.post(‘’http://127.0.0.1:8000/login?username=jmy&pwd=123456 ‘’,json=jn)#入参类型是json类型,一定要指定json=,传一个字典就行,既有参数又有字典可以这么拼接请求
入参包涵cookie
cookie={‘’sign‘’:asd65a4s6d4as654d4a}#定义一个cookie的字典格式
req = requests.post(url,data,cookies=cookie).text#需要指定cooikes=
入参包涵header;header里面传的时候不能有中文
header={‘’sign‘’:asd65a4s6d4as654d4a}#定义一个header的字典格式
req = requests.post(url,data,headers=header).text#需要指定headers=
上传文件
file={“filename”:open(‘xxx.py’,encoding=‘utf-8’)}#接口代码在import flask博客内
req = requests.post(url,data,files=file).text#需要指定file=
各个data可以一起传req = requests.post(url,data,files=file,cookies=cookie)#可以放在一起使用
base64模块(加密的模块,可以解密出来)
s = ‘username= jmy’
new_s = base64.ba64encode(s.code())#加密完的字符串
old_sbase64.base64decode(new_s.decode())#解密回来的