gpt4 book ai didi

python - 如何模拟使用 Python 代码隐藏提交的网页表单?

转载 作者:行者123 更新时间:2023-11-28 22:03:00 26 4
gpt4 key购买 nike

我有一个严重的问题。我想将我的应用程序与另一个更旧的应用程序集成。该服务只是一个 Web 表单,可能在框架之后(我认为可能是 ASP Classic)。我有一个操作 URL,并且我有用于复制此服务的 HTML 代码。

这是旧服务的一部分(HTML 页面):

<FORM method="POST"
url="https://host/path1/path2/AdapterHTTP?action_name=myactionWebAction&NEW_SESSION=true"
enctype="multipart/form-data">

<INPUT type="text" name="AAAWebView-FormAAA-field1" />
<INPUT type="hidden" name="AAAWebView-FormAAA-field2" value="" />
<INPUT type="submit" name="NAV__BUTTON__press__AAAWebView-FormAAA-enter" value="enter" />
</FORM>

我的应用程序应该模拟这个来自 code-behind 的旧应用程序的表单提交与 python 。现在,我没有那么幸运。

现在我这样做

import requests
payload = {'AAAWebView-FormAAA-field1': field1Value, \
'AAAWebView-FormAAA-field2': field2Value, \
'NAV__BUTTON__press__AAAWebView-FormAAA-enter': "enter"
}
url="https://host/path1/path2/AdapterHTTP?action_name=myactionWebAction&NEW_SESSION=true"
headers = {'content-type': 'multipart/form-data'}
r = requests.post(url, data=payload, headers=headers)
print r.status_code

我收到 200 HTTP 响应代码,但如果我单击 HTML 页面上的提交按钮,操作会保存这些值,但我的代码不会这样做。我该如何解决这个问题?


旧应用程序的所有者向我发送了此 Java 异常日志。有什么想法吗?

org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart boundary was found

最佳答案

尝试使用 requests.post 将空字典作为 files 传递。我认为这将正确地构造一个具有多部分边界的请求。

r = requests.post(url, data=payload, headers=headers, files={})

关于python - 如何模拟使用 Python 代码隐藏提交的网页表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10231707/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com