2011-03-01 130 views
5

我想送POST請求(如HTML表格),並獲取文件(HTTP標頭:「內容處置:附件;文件名=」 myfile.pdf「)。你能幫我如何發送POST請求並獲取文件響應?

+0

您確定您的意思是Java,而不是Javascript? – Mikhail 2011-03-01 19:47:40

+0

問題太模糊。請描述你的環境。它是基於瀏覽器的應用程序嗎?你對Servlet有問題嗎? – rahulmohan 2011-03-01 19:57:01

回答

11

你最好的選擇可能是使用第三方庫,如HttpClientHTMLUnit

如果你喜歡用標準的API也並不複雜做到這一點。

// Construct data 
String data = URLEncoder.encode("key1", "UTF-8") + "=" + 
           URLEncoder.encode("value1", "UTF-8"); 

data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + 
           URLEncoder.encode("value2", "UTF-8"); 

// Send data 
URL url = new URL("http://hostname:80/cgi"); 
URLConnection conn = url.openConnection(); 
conn.setDoOutput(true); 
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 
wr.write(data); 
wr.flush(); 

// Get the response 
BufferedReader rd = new BufferedReader(
     new InputStreamReader(conn.getInputStream())); 

String line; 
while ((line = rd.readLine()) != null) { 
    // Process line... 
} 
wr.close(); 
rd.close(); 
相關問題