HttpClient Post / GetMethod 코드 변환 방안 집계

HttpClient Post  방식 시 뮬 레이 션 요청 은 중국어 코드 변환 문제 에 자주 부 딪 히 는데 여기 서 제 가 직면 한 몇 가지 상황 과 해결 방안 을 정리 하 겠 습 니 다.
1. 요청 페이지
GetMethod getMethod = new GetMethod("http://www.baidu.com");  
//(1)、               
getMethod.getParams().setContentCharset("GB2312"); 

//(2)、  get          
getMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"GB2312");  

//(3)、         
getMethod.addRequestHeader("Content-Type", "text/html; charset=UTF-8");  
 
//(4)、           httpClient        
HttpClient httpClient = new HttpClient();
httpClient.getParams().setContentCharset("GB2312");

//               
InputStream in = getMethod.getResponseBodyAsStream();  
//                 
BufferedReader br = new BufferedReader(new InputStreamReader(in,"GB2312"));

2. 요청 방법
PostMethod PostMethod= new PostMethod("http://localhost:8080/ezid-cert-mobile/upload");
//(1)、                 
postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8");

//(2)、   PostMethod getRequestCharSet()  
public  class UTF8PostMethod extends PostMethod{
    public UTF8PostMethod(String url){
        super(url);
    }
    @Override
    public String getRequestCharSet() {
     return "UTF-8";
    }
}

//(3)、              ,           
Charset utf8Charset = Charset.forName("UTF-8");
multipartContent.addPart("name", new StringBody(Info.getUserEntity().getName(), utf8Charset));

//(4)、      Part [] parts={...}            
StringPart name=new StringPart("name",certFormEntity.getPersonName(), "UTF-8");

좋은 웹페이지 즐겨찾기