Mai mult
Cum de a trimite cereri HTTP în java?
În Java, Cum de a compune o cerere HTTP mesaj și trimite-l la un HTTP Server?
391
9
În Java, Cum de a compune o cerere HTTP mesaj și trimite-l la un HTTP Server?
Puteți utiliza java.net.HttpUrlConnection.
Exemplu (de aici), cu îmbunătățiri. Inclus în caz de link-ul de putregai:
De Oracle's java tutorial
Știu că alții vor recomanda Apache's http-client, dar se adaugă complexitate (de exemplu, mai multe lucruri care pot merge prost), care este rareori justificată. Pentru o sarcină simplă, `java.net.URL-ul va face.
Apache HttpComponents. Exemple pentru cele două module - HttpCore și HttpClient va obține ai început imediat.
Nu că HttpUrlConnection este o alegere proasta, HttpComponents va abstract o mulțime de plictisitoare codificare departe. Mi-ar recomanda acest lucru, dacă doriți cu adevărat pentru a sprijini o mulțime de servere HTTP/clienti cu minim de cod. Apropo, HttpCore ar putea fi utilizate pentru aplicații (clienti sau servere) cu minim de funcționalitate, întrucât HttpClient este de a fi utilizate pentru clientii care au nevoie de suport pentru mai multe schemele de autentificare, suport cookie etc.
Aici's un complet Java 7 program:
Noi încercăm-cu-resurse va auto-închidere, Scanner, care va auto-închide InputStream.
Acest lucru vă va ajuta. Don't uitați să adăugați la BORCAN `HttpClient.jar la classpath.
Google java http client a de frumos API pentru cereri http. Puteți adăuga cu ușurință JSON sprijin etc. Deși pentru o simplă cerere ar putea fi nejustificată.
Puteți utiliza Priza pentru ca
Nu's un mare link-ul despre a trimite o cerere POST aici de Exemplu Depot::
Dacă doriți să trimiteți o cerere GET puteți modifica codul de ușor pentru a se potrivi nevoilor dumneavoastră. În mod special trebuie să adăugați parametrii în interiorul constructor de URL-ul. Apoi, comenta, de asemenea, acest
wr.scrie(date);
Un lucru pe care'nu s-a scris și tu ar trebui să ai grijă de, este de timeout. Mai ales dacă doriți să-l folosească în WebServices, trebuie să setați timeout, altfel codul de mai sus va aștepta pe termen nelimitat sau pentru o foarte lungă perioadă de timp cel puțin și-l's ceva probabil nu't vrei.
Timeout-uri sunt setate astfel de comanda.setReadTimeout(2000);` parametrul de intrare este în milisecunde