Вы находитесь на странице: 1из 6

HTTPClient

Redes, Aplicaciones y Servicios en Internet (RASI)

Departamento de Sistemas Telem aticos y Computaci on (GSyC)

Diciembre de 2009

GSyC - 2009

HTTPClient

c 2009 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo se distribuye bajo la licencia Creative Commons Attribution Share-Alike disponible en http://creativecommons.org/licenses/by-sa/2.1/es

GSyC - 2009

HTTPClient

Contenidos
1

Introducci on Apache HttpClient Bibliograf a

GSyC - 2009 Introducci on

HTTPClient

Contenidos
1

Introducci on Apache HttpClient Bibliograf a

GSyC - 2009

HTTPClient

Introducci on

Introducci on

El paquete android.net proporciona acceso a propiedades de conectividad del dispositivo mediante de la clase ConnectivityManager: permite saber si el dispositivo est a conectado a alguna red, y de qu e tipo es (WiFi, GSM,...) El paquete java.net, implementado en parte en Android, proporciona soporte para programar aplicaciones en red, y proporciona alg un soporte para el protocolo HTTP La biblioteca HttpClient de Apache, implementada en Android, est a pensada para implementar clientes HTTP

GSyC - 2009 Apache HttpClient

HTTPClient

Contenidos
1

Introducci on Apache HttpClient Bibliograf a

GSyC - 2009

HTTPClient

Apache HttpClient

Programaci on de clientes HTTP


La principal funci on de la biblioteca Apache HttpClient es ejecutar m etodos HTTP (GET, POST, PUT, HEAD,...) La ejecuci on de un m etodo HTTP implica el intercambio de peticiones HTTP y respuestas HTTP, que normalmente son realizadas internamente por HttpClient de manera transparente al programador El programador proporciona un objeto petici on que ha de ser ejecutado y HttpClient se encarga de transmitir la petici on y de recibir la respuesta a trav es de una conexi on TCP, elevando una excepci on si hay alg un problema

GSyC - 2009 Apache HttpClient

HTTPClient

Programaci on de clientes HTTP


Ejemplo GET
try { HttpClient httpclient = new DefaultHttpClient(); HttpGet httpget = new HttpGet("http://192.168.1.33:3000/subastas.xml"); HttpResponse response = httpclient.execute(httpget); HttpEntity entity = response.getEntity(); if (entity != null) { XmlPullParserFactory parserCreator = XmlPullParserFactory.newInstance(); XmlPullParser parser = parserCreator.newPullParser(); parser.setInput(entity.getContent(), null); int parserEvent = parser.getEventType(); while (parserEvent != XmlPullParser.END_DOCUMENT) { switch (parserEvent) { case XmlPullParser.START_TAG: //... } parserEvent = parser.next(); } } } catch (Exception e) { Log.e("Net", "Error in network call", e); }

GSyC - 2009

HTTPClient

Apache HttpClient

Programaci on de clientes HTTP


Ejemplo POST
try{ HttpClient httpclient = new DefaultHttpClient(); List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparams.add(new BasicNameValuePair("nombre_campo1", "valor campo 1")); formparams.add(new BasicNameValuePair("nombre_campo2", "valor campo 2")); UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8"); HttpPost httppost = new HttpPost("http://192.168.1.33:3000/subastas.xml"); httppost.setEntity(entity); HttpResponse response = httpclient.execute(httppost); HttpEntity responseEntity = response.getEntity(); if (responseEntity != null) { Log.i("Subastas", "getStatusCode=" + response.getStatusLine().getStatusCode()); Log.i("Subastas", "responseEntity="+EntityUtils.toString(responseEntity)); } } catch (Exception e) { Log.e("Net", "Error in network call", e); }

GSyC - 2009 Bibliograf a

HTTPClient

Contenidos
1

Introducci on Apache HttpClient Bibliograf a

GSyC - 2009

HTTPClient

10

Bibliograf a

Bibliograf a

HttpClient Tutorial. Apache Software Foundation.


http://hc.apache.org/httpcomponents-client/tutorial/html/index.html

Documentaci on del Android SDK: en la carpeta docs del directorio del SDK, o en
http://developer.android.com/guide/index.html

Documentaci on sobre Android (tutoriales, v deos,...): http://developer.android.com

GSyC - 2009

HTTPClient

11

Вам также может понравиться