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