【问题标题】:Python: Submitting a Form with RequestsPython:提交带有请求的表单
【发布时间】:2017-04-11 17:58:56
【问题描述】:

从技术上讲,我在这里有两个不同的问题。首先是确保我首先正确地执行此操作。假设一个带有源代码的页面,例如:https://pastebin.com/raw/N5rRAVh4 我是否可以通过执行以下操作来提交表单:

payload = {
'checkout[shipping_address][first_name]': 'John',
'checkout[shipping_address][last_name]': 'Doe',
}
requests.post(url, data=payload)

其次,如果上述格式正确,我将如何在带有源代码的页面上提交表单,例如:https://pastebin.com/raw/VjUAcchj 这让我感到困惑,因为在第一个示例中没有每个元素的名称,例如 checkout[shipping_address][first_name]

【问题讨论】:

    标签: python forms python-2.7 post python-requests


    【解决方案1】:

    使用 id 代替输入标签的名称 喜欢:

    payload = {
    'checkout_shipping_address_first_name': 'John',
    'checkout_shipping_address_last_name': 'Doe',
    }
    requests.post(url, data=payload)
    

    你也可能会看到这个答案:-

    How to input values and click button with Requests?

    【讨论】:

    • 这回答了我的第一个问题,但问题中发布的第二个链接中的每个元素都没有 id
    • @DanteArcese ,如果找不到标题,请查看 firebug 或 chrome 开发人员工具。在那里您可以看到发布请求是如何发出的。在这里查看答案:- stackoverflow.com/questions/35875865/…
    • 我按照你的建议做了,发现一个 POST 请求具有以下标头和表单数据,但该 POST 没有任何内容,包括信用卡信息,所以我找到了另一个具有以下标头的 POST 请求和有效载荷。两者都包括在这里:pastebin.com/raw/NmnrKyNL(别担心,底部的信用卡信息是假的)
    • @DanteArcese 您正在尝试的网站应用了大量的加密算法。您将需要分析所有前端代码才能找到它。银行技术人员在没有加密的情况下发送您的数据有效负载并不是那么愚蠢。这样做可能会导致您的银行详细信息被盗
    猜你喜欢
    • 2015-10-07
    • 1970-01-01
    • 2017-05-08
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    相关资源
    最近更新 更多