2010-06-14 39 views
8

Voy a crear una aplicación móvil que funcione con el servidor CommuniGate Pro.¿Cómo enviar la solicitud HTTP POST y recibir respuesta?

Por ejemplo, tengo que hacer lo siguiente: Cliente Android C - CGP servidor S conversación y obtener el valor XIMSS.nonce nodo:

C:GET /ximsslogin/ HTTP/1.1 
    Host: myserver.com 
    Content-Type: text/xml 
    Content-Length: 42 

    <XIMSS><listFeatures id="list" /><XIMSS> 

S:HTTP/1.1 200 OK 
    Content-Length: 231 
    Connection: keep-alive 
    Content-Type: text/xml;charset=utf-8 
    Server: CommuniGatePro/5.3 

    <XIMSS><nonce>2C3E575E5498CE63574D40F18D00C873</nonce><language>german</language><response id="s"/></XIMSS> 

ejemplo, en ActionScript 3.0 se ve de esta manera:

var loader:Loader = new Loader(); 
loader.addEventListener(Event.COMPLETE, completeHandler); 
var urlRequest:URLRequest = new URLRequest(...); 
urlRequest.method = ...; 
urlRequest.data = ...; 
loader.load(urlRequest); 

private function completeHandler(...):void { ... }; 

¿Cómo se verá en Java para Android 2.1?

+0

creo que vas a tener que elaborar más con el fin de obtener cualquier ayuda significativa. –

Respuesta

18

Como Schnapple dice que su pregunta parece muy amplia y es confusa de leer y entender.

Aquí hay un código general para enviar un HTTP POST y obtener una respuesta de un servidor que puede ser útil.


public String postPage(String url, File data, boolean returnAddr) { 

    ret = null; 

    httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.RFC_2109); 

    httpPost = new HttpPost(url); 
    response = null; 

    FileEntity tmp = null;  

    tmp = new FileEntity(data,"UTF-8"); 

    httpPost.setEntity(tmp); 

    try { 
     response = httpClient.execute(httpPost,localContext); 
    } catch (ClientProtocolException e) { 
     System.out.println("HTTPHelp : ClientProtocolException : "+e); 
    } catch (IOException e) { 
     System.out.println("HTTPHelp : IOException : "+e); 
    } 
      ret = response.getStatusLine().toString(); 

      return ret; 
} 
+0

Cuando utilicé este método, la respuesta que recibí de mi servidor es "Imagen no proporcionada". ¿Cómo resolver esto? – includeMe

Cuestiones relacionadas