繁体   English   中英

如何HTTP发布到CGI脚本

[英]How to HTTP post to a CGI script

我尝试了 Java技巧,但未成功。 不成功,是指我读回的回复是完全相同的页面。

这是初始页面的部分屏幕截图-

在此处输入图片说明

如您所见,我正在尝试填写用户名密码/密码字段。 这将允许我访问其他感兴趣的页面。 如果有帮助,请使用以下表单标签片段:

<form method="post" action="platform.cgi">

action属性,我推测在post上 ,它将执行platform.cgi脚本。 这个对吗? 此外,至于登录按钮,它会调用javascript方法(即loginValidate() )-

<input type="submit" value="Login" name="umi.loginAuth" class="b0" title="Login" onclick="return loginValidate ()">

另外,这是两个文本字段的摘要,如果有帮助的话-

<input type="text" name="web0x120010" id="txtUserName" size="26" class="txtbox" maxlength="31">
<input type="password" name="web0x120011" id="txtPwd" size="26" class="txtbox" maxlength="64">

如示例中所示,当我填写内容时 ,我使用了txtUserNametxtPwd ,但这没有用。 有什么想法或其他资源可以帮助我吗?

如果还不够清楚,请告诉我-谢谢!

如果您的问题是发布一些数据并进入站点,那么我建议您使用common-http-client库,该库实际上是为这类问题而创建的。 调用站点的post方法的典型方法如下(来自Here

HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost("http://vogellac2dm.appspot.com/register");
        try {
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
            nameValuePairs.add(new BasicNameValuePair("registrationid",
                    "123456789"));
            post.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            HttpResponse response = client.execute(post);
            BufferedReader rd = new BufferedReader(new InputStreamReader(
                    response.getEntity().getContent()));
            String line = "";
            while ((line = rd.readLine()) != null) {
                System.out.println(line);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

它对您来说非常方便,您不必像HttClient那样为您管理会话。 如果您使用相同的HttpClient实例,这对于登录后访问后续页面很重要。

发布名称( web0x120010web0x120011 ),而不是输入框的ID,并发布umi.loginAuth=Login键值对。 如果没有帮助,请安装HttpFox Firefox扩展并记录正常的登录请求,并检查日志中的post参数。

根据http://stupidunixtricks.blogspot.com/2010_10_01_archive.html ,您也应该注意cookie。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM