![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Hejka, mam taki kod (coś ala phpowy curl)
Kod List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparams.add(new BasicNameValuePair("Name", "***")); formparams.add(new BasicNameValuePair("Passwd", "****")); UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8"); HttpPost httppost = new HttpPost("http://mpojastrona.pl"); httppost.setEntity(entity); HttpClient httpclient = new DefaultHttpClient(); HttpResponse response = httpclient.execute(httppost); HttpEntity entityResponse = response.getEntity(); I pod zmienną entityResponse mam odpowiedź serwera. Jak pobrać tę odpowiedź jako tekst? W google jedyne co mi się udaje znaleźć to kody tasiemce, gdzie by pobrać z tego tekst muszę dowalić od kilkunastu do kilkudziesieciu linii.... No nie chce mi się wierzyć, że tak prostą rzecz można tak skomplikować... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod HttpEntity entityResponse = response.getEntity().getContent().toString(); ![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
HttpEntity.getContent() zwraca Ci strumień z zawartością. Tutaj możesz skorzystać z IOUtils.toString(InputStream, String) (Apache Commons) by szybko wczytać zawartość do stringa.
PS. O ile dobrze pamiętam IOUtils.toString() zamyka strumień (InputStream.close()) ale upewnij się czy aby na pewno tak jest. EDIT: @viking: InputStream.toString() chyba nigdy nie zwróci Ci zawartości strumienia w postaci stringa. Dostaniesz "standardową" nazwę klasy i hashCode obiektu, przykładowo: java.io.ByteArrayInputStream@18bff68. Ten post edytował Crozin 18.02.2013, 13:53:23 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 280 Pomógł: 46 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
String responseBody = EntityUtils.toString(response.getEntity());
Takie coś znalazłem. http://stackoverflow.com/questions/2323617...-get-the-result |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tak, znalazłem już. Musze jeszcze tylko znaleźć gdzie te IOUtils wrzucic by było widoczne
![]() java to jedno wielkie nie porozumienie tak nawiasem mówiąc.... żeby proste rzeczy tak komplikować to naprawdę ktoś miał niezłą fazę gdy to pisał :/ edit: Cytat HttpEntity entityResponse = response.getEntity().getContent().toString(); No aż tak tępy nie jestem ![]() I nie, to nie zwraca zawartosci, tylko nazwę klasy ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tak, znalazłem już. Musze jeszcze tylko znaleźć gdzie te IOUtils wrzucic by było widoczne Nigdzie tego ręcznie nie wrzucaj, tylko od razu zacznij korzystać z Mavena (bądź innego narzędzia tego typu). Oszczędzisz sobie masę czasu, jednocześnie trzymając się jakiegoś standardu Twój kod będzie łatwiejszy w utrzymaniu.![]() Cytat java to jedno wielkie nie porozumienie tak nawiasem mówiąc.... żeby proste rzeczy tak komplikować to naprawdę ktoś miał niezłą fazę gdy to pisał :/ Nie chcę tutaj się w jakieś famewary bawić, Java ma swoje ułomności (zresztą jak wszystko, szczególnie tak stare), ale tutaj nie można się do niczego przyczepić. Idiotyzmem byłoby gdyby HttpEntity.getContent() zwracał Stringa zamiast InputStreama. Czy powinni dodać metodę getContentAsString()? Oczywiście mogliby to zrobić, ale po co zaśmiecać bibliotekę/obiekt zbędnymi metodami. ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@Crozin z całym szacunkiem, ale jak java nie potrafi mi zwrócić tekstu, który mogę potem normalnie przetworzyć, a zamiast tego muszę albo korzystać z kolejnych zewnętrznych jarów by ten tekst dostać, lub pisać kilkudzięcielinijkowe funkcje by ten tekst uzyskać, to sorki, to ja wale ten inputString, z którym nie mogę nic normalnego zrobić i uważam, że java to jedno wielkie nieporozumienie
![]() Może jak już to wszystko sobie poukładam i przyzwyczaję się, że proste rzeczy w javie robi się cholernie nieprosto, to może zmienię zdanie na jej temat ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:44 |