2010-05-13 7 views
2

Извините, я довольно новичок в Java.Класс Wrapper для HttpGet/Post в Java?

Я наткнулся на HttpGet и HttpPost, которые кажутся идеальными для моих нужд, но немного длинными. Я написал довольно плохой класс обертки, но кто-нибудь знает, где лучше?

В идеале, я бы смог сделать

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

где PostData не является обязательным.

Спасибо!

+0

Просто чтобы добавить, я не ожидаю, что смогу сделать это в одной строке. Это всего лишь пример - я понимаю, что Java, вероятно, более точен, и мне потребуются попытки и уловки для того, чтобы все работало правильно. –

+0

«Невозможно создать экземпляр типа HttpClient» - вот что я получаю, когда пытаюсь использовать HttpClient для «HttpClient client = new HttpClient();» –

ответ

5

HttpClient звучит так, как вы хотите. Вы, конечно, не можете делать такие вещи, как выше, в одной строке, но это полноценная HTTP-библиотека, которая завершает запросы Get/Post (и остальное).

+0

Если вы в конечном итоге делаете что-то реальное с этим, вам, вероятно, потребуется аутентификация/ssl (которую поддерживает HttpClient). – Justin

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. 

Там целый ряд дополнительных опций для настройки клиента вы должны в конечном счете, требуется тех.