我有一个关键问题。我想将我的应用程序与另一个更旧的应用程序集成。该服务只是一个 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>
我的应用程序应该使用 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