python长连接服务器,python长连接kafka消费断网

  python长连接服务器,python长连接kafka消费断网

  需求背景:有两个接口A和乙,甲是长链接,请求方法是获取,B是普通的邮政请求,B发起请求后数据C会先返回到长连接请求然后再返回到请求乙。

  设计思路:整体思路:由于A和B的响应时间都比较长,先发请求b,然后发请求一,长连接请求流程:先新的一个会议对象,建立链接,然后不断请求获取长连接返回数据。

  最终代码实现:def A(环境,cf,令牌):打印(开始建立长连接.)URL= https:// cf[ Host ][环境]cf[ path ][ directives ]print( URL:,URL)headers={ Authorization : Bearer str(Token), Device-Id: test_device_222 , Content-Type : Bearer str(Token), User-Agent : post manruntime/7。15 .2 , Accept :*/*, Cache-Control: no-cache , Postman-Token : 10731 c98-e877返回的是会话()对象while True:print(===================【% sA开始请求】================== %时间。ASC时间(时间。当地时间(时间。时间())))#建一个长连接r=client.get(url,headers=headers,verify=False,stream=True)分隔符= -测试设备222 .对r.iter _线条中的行进行编码( utf-8 )(分隔符=分隔符):if line:decoded _ line=line。decode( utf-8 )print(decoded _ line)#发起邮政请求,接口Bdef B(url,cf,token,environment,metadata _ JSON):PCM file=cf[ path ][ PCM file ]headers={ Device-Id : test _ Device _ 222 , Authorization: Bearer token,} metadata _ JSON[ event ][ header ][ messageId ]= test- str(uuid。uuid 4())body=JSON。转储(metadata _ JSON)#打开本地脉冲编码调制文件,读取数据,写入身体中pcm_file={metadata: body, audio: (pcmfile,open(pcmfile, rb)).read(), application/octet-stream )} print(================【B请求开始时间:% s】================== % time。ASC时间(时间。当地时间(时间。time()))响应=请求。post(URL,files=pcm_file,headers=headers,verify=False) #如果请求报错401,说明代币过期,重新获取发起请求if响应。status _ code==401:multipart _ data=B(URL,cf,令牌,环境)else:multipart _ data=decoder .多部分解码器。from _ response(response)print(==================【B请求结束时间:% s】================== % time。ASC时间(时间。当地时间(时间。时间()))说明点:

  a. 获取长连接返回数据时,发起get请求必须要加的参数是“stream”,由于我测试的请求是https请求,需要在方法中加上参数“verify=False”,关闭ssl证书校验。

  b. 很多模块没导入,pycharm会弹出提示的,装上就可以了

  c. cf 是我自己定义的字典变量,用来写配置,因为配置比较少,我暂时写在了代码中

  主要想说明长连接请求的发送,其他的就不详细赘述了

  参考文档:https://2 .python-请求。org//en/latest/user/advanced/#流请求,搜流式获取结果

  历史中提交的图片或压缩文件

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: