簡體   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