我需要为网站创建帐户生成器,但请求有效负载存在一些问题

Posted

技术标签:

【中文标题】我需要为网站创建帐户生成器,但请求有效负载存在一些问题【英文标题】:I need to make an account generator for a site but i have some problems with the request payload 【发布时间】:2021-10-20 10:29:09 【问题描述】:

注册窗口需要姓名、姓氏、电子邮件、密码。有形式的例子

以及像这样的请求负载格式

这种格式是什么?我怎样才能使用这种格式发出请求而不会出错?如果我尝试使用相同的格式发出请求,但只更改电子邮件、密码、姓名和姓氏,我会在响应标题中收到一条 grpc 消息:“grpc:收到的消息大于最大值(1551183920 与 4194304)”和帐户生成不工作。

这是我提出的要求:

import requests

url = "https://grips-web.aboutyou.com/checkout.CheckoutV1/registerWithEmail"

payload = "H\\u0008\\u009f\\u0005\\u0010\\u0004\\u001a\\u001abillyjhon22@gmail.com*\\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)

【问题讨论】:

关于如何连接到 gRPC 服务器、如何构建和发送 gRPC 请求的示例代码会很有用。 是的,抱歉我更新了它@EaswarSwaminathan 【参考方案1】:

给出application/grpc-web+protoContent-Type,我假设这是一个使用gRPC-Web 向gRPC 服务提交请求(通过代理)的javascript 客户端。

gRPC 使用在线二进制编码消息来提高效率(和 HTTP/2),因此直接手工制作消息更具挑战性。

通常,您会使用 protobuf (schema) 文件来生成例如为您提供一个 Python 客户端,这将公开一个您可以用来(取消)编组消息的类。

可以直接破解消息,但具有挑战性。

看看 Marc Gravell 的 Protobuf Decoder 可能会有所帮助。 您或许能够解码浏览器客户端使用的 JavaScript 导入,以对 protobuf 服务|方法进行逆向工程。 gRPC-Web 使用 gRPC 而不是 HTTP/2。因此,相同的 RPC 和消息将直接与代理和服务器一起使用。 然后您可以直接编译 Python 库。您还需要识别源服务器,因为您需要通过 HTTP/2 直接向其发送 gRPC,而不是针对代理的 gRPC-Web 调用。 gRPC 服务所有者可能通过 IP、某种身份验证机制和/或其他方式限制对 gRPC-Web 客户端的后端访问。

注意通常,如果未发布原型,则服务所有者不打算以其他方式使用服务。

【讨论】:

以上是关于我需要为网站创建帐户生成器,但请求有效负载存在一些问题的主要内容,如果未能解决你的问题,请参考以下文章

JWT 有效负载中的令牌

如何使用 swagger 使用 json 作为有效负载的 post 请求创建 api

PayPal 沙盒帐户 - “电子邮件已存在”

VS 2017 ASP.NET Core Web 应用程序和个人用户帐户有效,但页面不存在

C# Google API - 收到无效的 JSON 有效负载

Java - 从请求 JSON 生成 JWS/JWT