我正在尝试在此网站上发布 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 检查实际的网络请求以确保无误。