如何解决 HTTP post 中出现的“ERROR 405 Method Not Allowed”问题

如何解决 HTTP post 中出现的“ERROR 405 Method Not Allowed”问题

我正在尝试在此网站上发布 HTTP 帖子:

https://www.colorado.gov/revenueonline/_/#2

(点击验证销售税许可证(右下角)

使用 wget 和以下命令:

wget --post-data="VIEW__=CG_LicVer
&LASTFOCUSFIELD__=
&DOC_MORAL_ID__=0
&DvfmoUb__0_0_Fdr2ZH=7777777" \
-U "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" \
https://www.colorado.gov/revenueonline/_/#2

但它被拒绝了,并显示“ERROR 405:方法不允许”,我猜这意味着他们根本不允许在网站上发布 HTTP 帖子。但邮政编码就在那里!

<form name="DocumentForm" class="DocumentForm " action="." method="post" onsubmit="return false;">

长话短说,如果该网站不使用 http post,我该如何发帖或使用该网站使用的任何内容,或者只是输入一个数字并返回下一页的结果?

答案1

我认为您将 POST 发送到了错误的 URL。正确的 URL 似乎是

https://www.colorado.gov/revenueonline/_/ImportDialog

此页面未返回 405。但是,我不确定预期结果。

答案2

从您的代码示例中:

onsubmit="return false;"

这意味着单击按钮时浏览器不会提交 HTML 表单。相反,可能会有一些 JavaScript 代码监听按钮单击并发出自定义网络请求。

确实,通过 DevTools 的 Network 选项卡,我们可以看到 jQuery 向 发出了一个POST请求https://www.colorado.gov/revenueonline/_/EventOccurred。这个网络请求中有几个表单字段:Dd-5 和 Dd-6 似乎分别包含用户名和密码。

HTML 表单以这种方式被 JavaScript 覆盖是很常见的,因此最好使用 DevTools 检查实际的网络请求以确保无误。

相关内容