注册窗口需要姓名、电子邮件、密码。有一个
形式的示例请求负载格式如下
这种格式是什么?我如何使用这种格式发出请求而不会出现错误?如果我尝试使用相同的格式发出请求,但仅更改电子邮件、密码、姓名,我会在响应标头中收到一条 grpc 消息,内容为:“grpc:收到的消息大于最大值(1551183920 与 4194304)”并生成帐户不起作用。
这是我的要求:
import requests
url = "https://grips-web.aboutyou.com/checkout.CheckoutV1/registerWithEmail"
payload = "H\\u0008\\u009f\\u0005\\u0010\\u0004\\u001a\\[email protected]*\\u0007Billy2\\u0007Jhonson8\\u0002J\\u000f\\n\\rhelloworld122!\\u0021P\\u0001"
headers = {
"content-type": "application/grpc-web+proto",
"accept-language": "it-IT,it;q=0.9"
}
response = requests.post(url, data=payload, headers=headers)
给出
application/grpc-web+proto
Content-Type
,我假设这是一个 JavaScript 客户端,使用 gRPC-Web 将请求(通过代理)提交到 gRPC 服务。
gRPC 使用二进制编码的在线消息来提高效率(以及 HTTP/2),因此直接手工制作消息更具挑战性。
通常,您会使用 protobuf(架构)文件来生成例如为您提供一个 Python 客户端,这将公开一个可用于(取消)编组消息的类。
直接破解消息是可能的,但具有挑战性。
注意 一般来说,如果原型未发布,服务所有者不希望以可用的方式使用该服务。
import requests
url = "https://grips-web.aboutyou.com/checkout.CheckoutV1/registerWithEmail"
payload = "H\\u0008\\u009f\\u0005\\u0010\\u0004\\u001a\\[email protected]*\\u0007Billy2\\u0007Jhonson8\\u0002J\\u000f\\n\\rhelloworld122!\\u0021P\\u0001"
headers = {
"content-type": "application/grpc-web+proto",
"accept-language": "it-IT,it;q=0.9"
}
response = requests.post(url, data=payload, headers=headers)
aass1122