我试图过滤掉服务器的响应.

例子:

b'RTSP/1.0 401 Unauthorized\r\nCSeq: 2\r\nWWW-Authenticate: Digest realm="Login to YR3EI16746R4O", nonce="8986086a1fv82683a0898142be7ze74"\r\n\r\n'

CSeq:2和nonce="8986086a1fv82683a0898142be7ze74f"对我很重要.

if 'CSeq: 1' in data:
   cseq = "CSeq: 1"
elif 'CSeq: 2' in data:
   cseq = "CSeq: 1"
elif....

但这不是一种合适的方法,也不能解决nonce=问题.

谢谢

推荐答案

对于这样的任务,应该使用正则表达式

import re

resp = b'RTSP/1.0 401 Unauthorized\r\nCSeq: 2\r\nWWW-Authenticate: Digest realm="Login to YR3EI16746R4O", nonce="8986086a1fv82683a0898142be7ze74"\r\n\r\n'

pattern_CSeq = re.compile(b'CSeq: ([0-9]*)')
pattern_nonce = re.compile(b'nonce="(.*?)"')

match1 = pattern_CSeq.search(resp)
CSeq = match1.group(1)

print(CSeq)
# b'2'

match2 = pattern_nonce.search(resp)
nounce = match2.group(1)

print(nounce)
# b'8986086a1fv82683a0898142be7ze74'

Python相关问答推荐

仅从风格中获取 colored颜色 循环

Pandas 填充条件是另一列

使用新的类型语法正确注释ParamSecdecorator (3.12)

如何使用matplotlib在Python中使用规范化数据和原始t测试值创建组合热图?

从收件箱中的列中删除html格式

追溯(最近最后一次调用):文件C:\Users\Diplom/PycharmProject\Yolo01\Roboflow-4.py,第4行,在模块导入roboflow中

将输入管道传输到正在运行的Python脚本中

根据二元组列表在pandas中创建新列

如何将一个动态分配的C数组转换为Numpy数组,并在C扩展模块中返回给Python

Scrapy和Great Expectations(great_expectations)—不合作

为什么Django管理页面和我的页面的其他CSS文件和图片都找不到?'

合并帧,但不按合并键排序

通过ManyToMany字段与Through在Django Admin中过滤

Python Pandas—时间序列—时间戳缺失时间精确在00:00

Polars map_使用多处理对UDF进行批处理

如何写一个polars birame到DuckDB

修改.pdb文件中的值并另存为新的

普洛特利express 发布的人口普查数据失败

Python:在cmd中添加参数时的语法

如何在Polars中处理用户自定义函数的多行结果?