day 06 网络请求requests 模块jsonpath 写日志(nnlog) mock 接口开发

网络请求模块   urllib(标准模块)python操作网络,也就是打开一个网站,或者请求一个http接口,使用urllib模块(这个模块可以不看)

用到模块中 request  parse 两个方法

由于urllib模块,传参麻烦,需要把字典类型parse下变为k=v,post还要把参数转为二进制;接收的值是bytes类型,还要解码,变为字符串,同时直接用的话还要转为为json。比较麻烦。更好的就是用 第三方模块 requests 模块

  urllib模块 的 get请求(用json将字符串转换为字典,可以将bytes类型的转换为字典)json里必须是双引号

 

 

 -----------------------------------------------

urllib模块  post请求

 

 

 ---------------------------------------------------------------------------------------------------------------------------------------------

*(requests模块)

  (1.r.json() 返回的json串。2.r.text() 返回的字符串  3.r.content用于下载的时候返回的二进制)https的请求中在请求的括号中加入 verify = False 不然会报错

get()请求  res = requests.get(url,params={"key":"values"})    应用的时候res= requests.get(参数url,参数data)

post()请求 res =requests.post(url,params={"key":"values"},data{"key":"values"})  params 代表url后面的的值,post请求的地址后面的参数,data 是boday里的数据    应用的时候 res= requests.get(参数url,参数data,headers=header)

 

 

 

 post请求  requests.post(url,data)

 

 

----------------- 

post 请求  入参是 json类型的     可以通过在post请求中指定参数类型 requests.post(url,json=data)

 

 

 -------------------

post 请求中存在 cookie 的,在请求中用 cookies 进行传递    requests.post(url,data,cookies=cook) 

cookie 可以把cookie 放到字典中传

简单的就是  headers ={'cookie':'放cookie的数据'} #用headers传

 

 

 -----------

请求中有 header 的 直接在请求中通过headers 传递     requests.get(url,headers=header)

 

 

 -------

把文件上传到服务器  请求中通过files进行传递        requests.post(url,files=file)         file = {"file":"open('a.txt","rb"}

 

 

 ---------------------------------------------------------------------------

 

jsonpaht模块

jsonpaht.jsonpath(d,$..key)  ..  模糊匹配,把所有key的值都找到   

jsonpaht.jsonpath(d,$.stu_info[0].id)  . 也可以按照顺序去查    返回的结果为列表

 

 

 

 

 

 ---------------------------

写日志模块  nnlog(根据level的级别,级别低的能打印出来级别高的)

backCount 是产生几个日志文件(超过了就会清掉最开始的)  when(d是按天产生)

 

 ---------------------------------------------------------------------------------------

 发送邮件的模块  yagmail

网易的发网易的接

 

 ---------------------------------------------

flask 模块(用来开发接口,是一个web开发框架) 

#mock 接口开发  1,模拟接口  2.给别人提供数据   

import flask          server = flask.Flask(__name__)  #服务                   @server.route('url后的地址',methods=【‘post’,'get'】)   def  a()      把函数加到服务里     server.run(host='0.0.0.0',port=8000,debug=True) 运行接口

 

posted @ 2019-11-06 07:42  戒七  阅读(216)  评论(0编辑  收藏  举报