2010-06-14 63 views
8

Tôi sẽ tạo ứng dụng di động hoạt động với máy chủ CommuniGate Pro.Cách gửi yêu cầu HTTP POST và nhận phản hồi?

Ví dụ, tôi cần phải làm cho Android Khách hàng C sau - CGP server S trò chuyện và nhận được giá trị XIMSS.nonce nút:

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> 

Ví dụ, trong ActionScript 3.0 nó trông như thế này:

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 { ... }; 

Trình duyệt sẽ trông như thế nào trong Java cho Android 2.1?

+0

tôi tin rằng bạn sẽ cần phải xây dựng thêm để có được bất kỳ sự hỗ trợ có ý nghĩa. –

Trả lời

18

Khi Schnapple nói câu hỏi của bạn có vẻ rất rộng và gây nhầm lẫn khi đọc và hiểu.

Dưới đây là một số mã chung để gửi một POST HTTP và nhận được phản hồi từ một máy chủ mặc dù điều đó có thể hữu ích.


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

Khi tôi sử dụng phương pháp này, phản hồi tôi nhận được từ máy chủ của tôi là "Hình ảnh không được cung cấp". Làm thế nào để giải quyết điều này? – includeMe

Các vấn đề liên quan