2010-05-13 38 views
2

對不起,我對Java很陌生。Java中的HttpGet/Post的包裝類?

我已經偶然發現了HttpGet和HttpPost,它們似乎是完美的滿足我的需求,但有點長囉嗦。我寫了一個相當糟糕的包裝類,但是有誰知道在哪裏可以找到更好的包裝類?

理想情況下,我能夠做到

String response = fetchContent("http://url/", postdata); 

其中POSTDATA是可選的。

謝謝!

+0

只是爲了補充,我並不期待能夠在一行中完成。這僅僅是一個例子 - 我意識到Java可能更精確,我會要求try和catch的一切正常工作。 – 2010-05-13 19:30:26

+0

「無法實例化HttpClient類型」 - 當我嘗試將HttpClient用於「HttpClient client = new HttpClient();」時, – 2010-05-13 19:41:37

回答

5

HttpClient聽起來像你想要的。你當然不能像上面那樣做一行,但它是一個完整的HTTP庫,包含Get/Post請求(和其他請求)。

+0

如果你最終做了任何事情,你可能會需要認證/ SSL(HttpClient支持)。 – Justin 2010-05-13 19:36:35

2

我會考慮使用HttpClient庫。從他們的documentation,則可以產生這樣的POST:

PostMethod post = new PostMethod("http://jakarata.apache.org/"); 
NameValuePair[] data = { 
    new NameValuePair("user", "joe"), 
    new NameValuePair("password", "bloggs") 
}; 
post.setRequestBody(data); 
// execute method and handle any error responses. 
... 
InputStream in = post.getResponseBodyAsStream(); 
// handle response. 

有許多用於配置客戶端的高級選項,你應該最終需要的。