我正在使用java.net在我的Java客戶端中發送HTTP請求,但我仍然無法實現/查找如何實際觸發請求。java.net如何激發HTTP請求
例如,我有這樣的代碼:
Scanner sc = new Scanner(System.in);
System.out.println("Deleting subject...");
System.out.println("Subject shortcut (-1 for return):");
String shortcut = sc.next();
if(shortcut.equals("-1"))
return ;
try
{
URL url = new URL("http://localhost:8080/Server/webresources/subject/delete/"+shortcut);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setDoOutput(true);
con.setRequestMethod("DELETE");
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
System.out.println(br.readLine());
}catch(Exception e)
{
System.out.println(e.getMessage());
}
在此代碼,如果我不使用這些行:
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
System.out.println(br.readLine());
的要求永遠不會發送。所以在這種情況下,請求似乎是通過從連接調用InputStream來觸發的。
任何人都可以解釋我怎麼通過java.net發起HTTP請求?
[使用java.net.URLConnection中的火災和處理HTTP請求]的可能的複製(http://stackoverflow.com/questions/2793150/using-java-net-urlconnection-to-fire-and -handle-http-requests) – Michael
這個問題的第一個答案進入了相當多的細節。基本上你是正確的,當你從輸入流中讀取請求時發送。 – Michael
@Michael URLConnection#connect()寫在您剛剛發佈的主題中不起作用。 – scarface