1.背景
最近有一个需求,猜测一段十六进制流的校验方式,挨个尝试非常耗时,需要写代码,调用网页上的功能。
2.解决方案
可以使用Python的 requests
库来发起HTTP请求,并通过POST请求将数据发送给服务器进行计算CRC校验和。以下是一个简单的示例代码:
import requestsdata = "TEST" #待校验的数据流
url = "http://www.ip33.com/crc.html" # 网站地址payload = {"data": data
}response = requests.post(url, data=payload)if response.status_code == 200:crc_checksum = response.textprint("CRC校验和:", crc_checksum)
else:print("请求失败")
通过F12看到发起请求的时候的HTTP请求的组包规则,查看方法“网络”-》“载荷”-“查看源代码”就可以看到发送的内容为:
data=54+45+53+54+&width=16&poly=8005&init=0000&xor=0000&refin=true&refout=true
返回
{"code": 0,"hex": "EA3C","bin": "1110101000111100"
}
然后按照发送和请求的数据进行拼装和解析即可。