2011-01-31 3 views
0

HTTP의 게시 방법을 사용하여 서버와 통신해야하는 안드로이드 응용 프로그램이 있습니다. 내 응용 프로그램은 기본 페이지가있는 다른 사이트를 열 때마다 html이나 다른 사람들이있을 수 있지만 언제든지 내 서버 파일을 열려고 할 때마다 HTTP로 메서드를 가져올 때도 아무것도 표시하지 않습니다.안드로이드는 ashx 또는 ASP.NET 웹 처리기 파일로 만들어진 서버를 지원합니까?

서버로부터의 빈 응답은 요청으로 post 메소드를 사용하여 일부 헤더를 보내야하므로 이해할 수 있습니다. 그리고 ashx는 응답을 보냅니다.

그러나 여전히 HTTP의 get 메소드로 예상되는대로 페이지의 기본 정보를 검색해야합니다.

예 : 내 서버 URL은 http://172.17.3.90/RMALite/RLHandler.ashx

이며 기본 응답은 다음과 같아야합니다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML><HEAD> 
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD> 
<BODY></BODY></HTML> 

불행하게도 나는 아무것도

점점하지 오전하지만 난 다른 사이트를 열려면 URL을 변경할 때마다 잘 작동하고 난 텍스트 HTML 형식의 응답을 얻었다.

내 질문에 안드로이드는 다른 사이트 나 URL과 비교하여 ASP.NET 처리기 또는 ashx 파일을 처리 할 몇 가지 물건이 필요합니까?

답변

0

나는 늦게 알고 있지만 다른 사람들은 혜택을 얻을 수 있습니다. 아래는 동일한 문제를 해결하는 데 도움이되는 코드 스 니펫입니다.

public static String excutePost(String targetURL, String urlParameters) { 

    //targetURL =http://172.17.3.90/RMALite/RLHandler.ashx 

    URL url; 
    HttpURLConnection connection = null; 
    try { 
     // Create connection 
     url = new URL(targetURL); 
     connection = (HttpURLConnection) url.openConnection(); 
     connection.setRequestMethod("POST"); 
     connection.setRequestProperty("Content-Type", 
       "application/x-www-form-urlencoded"); 

     connection.setRequestProperty("Content-Length", "" 
     + Integer.toString(urlParameters.getBytes().length)); 
     connection.setRequestProperty("Content-Language", "en-US"); 
     connection.setRequestProperty("method-name", "parameter-value"); 

     connection.setUseCaches(false); 
     connection.setDoInput(true); 
     connection.setDoOutput(true); 

     // // Send request 
     DataOutputStream wr = new DataOutputStream(connection 
       .getOutputStream()); 
     wr.writeBytes(urlParameters); 
     wr.flush(); 
     wr.close(); 
     String field1 = connection.getHeaderField("field1"); 
     String field2 = connection.getHeaderField("field2"); 

     return anyArray; 

    } catch (Exception e) { 

     e.printStackTrace(); 
     return null; 

    } finally { 

     if (connection != null) { 
      connection.disconnect(); 
     } 
    } 
} 

나는 것이 도움이 N 많은 this post에 감사

덕분에 많은

-y

것 생각
관련 문제