android-async-http 는 json 을 body 에 패키지 합 니 다.

1878 단어 httpandroidpost
url 직접 연결 주 소 는 제한 을 초과 하기 때문에 개발 과정 에서 우 리 는 요청 한 인 자 를 body 에 기록 합 니 다.다음은 안 드 로 이 드 의 http 네트워크 프레임 워 크 를 사용 합 니 다.실현 하 는 과정 에서 많은 문제 가 발생 했 습 니 다.현재 코드 기록:
 
 
 
 
   final byte[] zipSendDateService = zipSendDate(SelectSendDate().getBytes()); //     
		content = httpClient.getUploadSendData();//     
             //http post  ,     post  
            httpClient.post(context, content, zipSendDateService, 
		"application/octet-stream",new AsyncHttpResponseHandler() {
	@Override//    
		public void onSuccess(int statusCode,Header[] headers, byte[] responseBody)             {
            processSendUploadResult(new String(responseBody));}

	@Override //    
	public void onFailure(int statusCode,Header[] headers, byte[] responseBody,
	   Throwable error) {
    }
});

 
post 방식 으로 문자열 을 body 에 요청 서버 에 기록 합 니 다.
 
//         	
public RequestHandle post(Context context, String content,
			byte[] zipSendDateService, String contentType,
			ResponseHandlerInterface responseHandler) {
//         
		ByteArrayInputStream bis = new ByteArrayInputStream(zipSendDateService);
    Entity 
		InputStreamEntity entity = new InputStreamEntity(bis,
				zipSendDateService.length);
		try {
//  
			content = URLEncoder.encode(content, HTTP.UTF_8);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
//        json url  
		String url = getRequestUrl()+"?JSON="
				+ content;

//     
		return httpClient.post(context, url, entity, contentType,
				responseHandler);
	}

 
 
 
서버 에서 body 의 문자열 을 직접 읽 을 수 있 습 니 다.
 

좋은 웹페이지 즐겨찾기