【问题标题】:Escaping string in json dictionary python requestjson字典python请求中的转义字符串
【发布时间】:2019-01-22 16:06:13
【问题描述】:

所以我有一个 python 应用程序,它使用 requests.post 发出带有 json 标头、正文信息等的 post 请求。

问题是,在作为标题发送的字典中,我有一个变量通常包含字符组,如 %25"" 或 "%2F" 等。如果在正文数据中发送,我已经看到这会导致问题,但这可以通过将正文数据作为字符串而不是字典发送来解决。不过,还没有弄清楚如何使用标头进行这项工作,因为您不能像在正文数据中那样简单地用 & 号分隔参数。

如何确保我的 cookie 值在发布请求的过程中不会被更改?

例如,标题: 主办方:blahblah.com 连接:保持活动 Cookie : 我的带有特殊字符的敏感字符串 等等

注意:服务器端无法更改任何内容。 python 应用程序被用于租用的渗透测试服务。

【问题讨论】:

  • 通过澄清编辑,您需要确定您的请求出错的地方(如果是),并且除了获得客户的许可外,几乎可以肯定地运行您自己的服务进行测试调查他们的服务器。此外,(取决于您的用例/测试)之一可能是您正在寻找的答案:1)用于转义的专用库 2)原始字符串r'data' 3)将数据作为二进制流发送 4)编写您自己的围绕 libcurl 之类的包装器或包装器程序并调用它

标签: python json string python-requests


【解决方案1】:

一种常见的发送数据在传输时变得混乱的技术是对其进行编码,尤其是base64

发件人:

import base64
...
encoded_data = "base64:{}".format(base64.b64encode(data))

接收者:

import base64
...
if encoded_data.startswith("base64:"):
    data = base64.b64decode(encoded_data.split(':')[1])

【讨论】:

    猜你喜欢
    • 2021-06-10
    • 1970-01-01
    • 2017-08-11
    • 2016-04-10
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    相关资源
    最近更新 更多