2014-01-22 113 views
-1

我想要自動登錄到一個Java exe文件的表單,這將允許我遵循一個href鏈接,該鏈接將重定向到另一個網站,有一個登錄名,然後我將提供憑證,然後下載頁面內容,然後在頁面中輸入詳細信息並提交。登錄到這是一個超鏈接的鏈接href

這聽起來對Java編碼來說是一個很高的順序嗎?通常這個過程是由操作員完成的,但我需要自動化。

回答

1

1.-準備一個像HttpFox Firefox附加組件或Whireshark的Sniffer。

2.-在網站上登錄並獲取登錄名,方法(GET或POST)的URL以及用戶名和密碼的參數名稱(您也可以從登錄頁面的源代碼中獲取該名稱) 。

3.-導航到該網站並取消會話cookie的名稱(或來自所有cookie)。

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.net.MalformedURLException; 
import java.net.URL; 

import javax.net.ssl.HttpsURLConnection; 


public class Tests { 

    public static String cookie; 

    public static void main(String[] args) throws MalformedURLException, IOException { 

     URL url = new URL("https://some_site..."); 
     HttpsURLConnection https = (HttpsURLConnection) url.openConnection(); 
     https.setRequestMethod("POST"); //or GET 
     https.addRequestProperty("usename_field_name", "username"); 
     https.addRequestProperty("password_field_name", "password"); 
     https.addRequestProperty("Cookie", cookie); 

     BufferedReader in = new BufferedReader(new InputStreamReader(https.getInputStream())); 

     String linea; 

     while ((linea = in.readLine()) != null) { 
      // Recover the cookie and save it in a variable. 
      // You must put it in other connections. 
     } 
    } 
}