python requests库接口调用实例
发布时间:2026/10/21 10:35:30 锦皓数字建站

post请求importrequestsdefinbound(boxCode):try:urlhttp://ip/inboundTaskheader{Content-Type:application/json;charsetUTF-8}data{regionCode:ps,box:boxCode}#print(json.dumps(data))rrequests.post(url,datajson.dumps(data),headersheader)resultr.json()exceptBaseExceptionase:print(error:,e)post请求提交数据的格式为表单格式#引入以下库importpytest,urllibimportallure,requestsfromurllibimportparsedefstartOrder(self,orderNo):logger.info(*********************************调用开始订单接口*********************************)withallure.step(第一步开始订单)header{Content-Type:application/x-www-form-urlencoded,Cookie:Cookie}#注意Content-Type为application/x-www-form-urlencodeddata{orderNo:orderNo}dataurllib.parse.urlencode(data)#注意执行urllib.parse.urlencode转换logger.info(开始订单的请求data)rrequests.post(api_root_url/order:start,datadata,headersheader)resultr.json()assertresult[returnCode]0logger.info(code 预期结果.{},实际结果.{}.format(0,result[returnCode]))ifr.json()[returnUserMsg]成功:returnTrueelse:returnFalse注put请求同post请求把requests.post改成requests.putget请求deftest_login_WEB_successful(self,username,password):logger.info(*************** 开始执行用例:{} ***************.format(sys._getframe().f_code.co_name))urlapi_root_url/portalCookieget_cookie(username,password,pc)header{Content-Type:application/json;charsetUTF-8,Cookie:Cookie}logger.info(header是{}.format(header))data{}logger.info(登录的用户名是{},和密码是{}.format(username,password))#print(json.dumps(data))rrequests.get(url,paramsjson.dumps(data),headersheader)resultr.json()get请求带参数参数直接放在url中deftest_deviceStationSearch_successful(self,username,password):logger.info(*************** 开始执行用例:{} ***************.format(sys._getframe().f_code.co_name))urlapi_root_urlwes/station/page?pageNo1pageSize10statusOPENstationName%E7%AB%99%E7%82%B9mainBackMAINCookieget_cookie(username,password,pc)header{Content-Type:application/json,Cookie:Cookie}param{}rrequests.get(url,paramsparam,headersheader)resultr.json()logger.info(接口返回值 {}.format(result))delete请求defdeleteOnShelfRule(self,ruleCode):logger.info(*********************************调用删除接口*********************************)rrequests.delete(api_root_url/wes-engine/onShelfRule?ruleCoderuleCode,headersself.header)resultr.json()assertresult[returnCode]0assertresult[returnMsg]successlogger.info(code 期望结果{} 实际结果{}.format(0,result[returnCode]))logger.info(返回的信息为str(result))ifr.json()[returnUserMsg]成功:logger.info(删除上架规则ruleCode成功)returnTrueelse:logger.info(删除上架规则ruleCode失败)logger.info(result)returnFalsepost接口上传图片示例1fromlocustimportHttpUser,task,between,run_single_userimportjson,time,loggingfromjsonimportJSONDecodeErrorimportqueue,uuid,requestsfromrequests_toolbelt.multipart.encoderimportMultipartEncoderclassWebsiteUser(HttpUser):defuploadPicture(self,file_name灭火器放置解析):# 接口地址urlhttps:...chat/uploadheader{Content-Type:multipart/form-data; boundary----WebKitFormBoundaryuILdpgk6mwND3d7L,cookie:aipiToken4f8d4913-2ba8-4641-8b48-34591577b9b1,user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36,accept:application/json, text/plain, */*,accept-encoding:gzip, deflate, br,zstd,}# 图片文件路径file_path灭火器放置解析.png# 请求数据dataMultipartEncoder(fields{files:(file_path,open(file_path,rb),image/png)},boundary----WebKitFormBoundaryuILdpgk6mwND3d7L)responserequests.post(url,datadata,headersheader)print(response的主要信息/n)resresponse.json()return(res[data][0])请求数据形如示例2不要设置 Content-Type header用 files 时若手动指定 Content-Type:multipart/form-data会丢失 boundary导致后端解析失败。文件以二进制 rb 打开不能以文本模式打开图片defupload_IDcard_recognize(self,tokenNone,file_name身份证_蒋飞成.jpg,envNone):# 接口地址ifenv!stage:self.base_url.replace(stage,env)urlf{self.base_url}/api/common/ocr/recognizelogging.info(fUNKurl:{url})header{}iftoken:header[authorization]fBearer{token}# 图片文件路径file_pathfile_name# 请求数据withopen(file_path,rb)asf:responserequests.post(url,files{file:(os.path.basename(file_path),f,image/jpeg)},timeout30,headersheader)logging.info(fUNK{response})print(response的主要信息:/n)print(response.text)returnresponseweb socket消息推送import websocket import time import json def refresh_medical_records(self): # WebSocket 服务地址 ws_url fws://...backend.{self.env}..com/api/ws/refresh # 认证信息 headers { Cookie: self.access_token, User-Agent: Python-WebSocket-Tester } # 建立连接 ws websocket.create_connection( ws_url, headerheaders, #若需要认证信息建立连接时传入cookie timeout10 # 超时时间秒 ) try: # 推送消息 timestamp int(time.time() * 1000) message { header: { action: refresh, messageId: timestamp, timestamp: timestamp, type: manage } } ws.send(json.dumps(message)) print(已发送:, message) time.sleep(5) # 接收响应可设置超时 response ws.recv() print(收到响应:, json.loads(response)) # 断言测试 time.sleep(120000) assert success in response, 订阅成功 finally: # 关闭连接 ws.close() print(连接已关闭)
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。