올해는 머신러닝이다.
HttpClient 약간의 팁 참고 페이지 본문
출처 : http://bluejames77.blog.me/80124862451
예전에 HttpClient을 쓴 법을 있는데.. 최신에 이것을 다시 쓸일이 있어 정리해봅니다. ^-^;
제가 짠 메소드인데 이것만 보면 아마 감이 딱 오시지 않을까 생각됩니다.
private static String requestConvert ( String szFilePath, int nPageCount, String szThumbnailSize)
{
// 아래처럼 해서 넘길 값이 있다면 키와 밸류 형식으로 파라메타를 넘기게 됩니다
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("FilePath", szFilePath));
qparams.add(new BasicNameValuePair("PageCount", String.valueOf(nPageCount)));
qparams.add(new BasicNameValuePair("ThumbnailSize", szThumbnailSize));
String szResult = null;
URI uri = null;
try
{
// url을 아래처럼 정의할 수 잇습니다.
// 들어가는 파라메터는 순서대로 -> String scheme, String host, int port, String path, String query, String fragment
uri = URIUtils.createURI("http", "localhost", 80, "/daview/servlet/viewer",
// 파라메터 UTF-8로 넘길수도 있습니다.
URLEncodedUtils.format(qparams, "UTF-8"), null);
// Get으로 보낼때는 HttpGet을
HttpGet httpget = new HttpGet(uri);
// Post으로 보낼때는 HttpPost를 이용하시면 됩니다.
// HttpPost httpPost = new HttpPost(uri);
HttpClient client = new DefaultHttpClient();
HttpResponse response = null;
// post을 이용하실때엔 여기에 httpPost을 넣으시면 됩니다
response = client.execute( httpget);
// 성공여부는 200입니다 이것은 response.getStatusLine().getStatusCode() 메소드로 호가인 가능합니다.
//System.out.println( szFilePath + " 성공여부 : " + response.getStatusLine().getStatusCode());
HttpEntity entity = response.getEntity();
BufferedReader br = null;
if (entity != null) {
szResult = EntityUtils.toString(entity);
// EntityUtils.toString은 아래 주석과 같은 역할을 해준답니다.
// br = new BufferedReader( new InputStreamReader( entity.getContent()));
// String szLine = null;
// while ( (szLine = br.readLine()) != null )
// {
// szResult = szLine;
// }
}
// System.out.println( "성공여부 : " + szResult);
} catch (Exception e) {
e.printStackTrace();
}
return szResult;
}
참고로 Get과 Post에 대해서 말씀드리면 Get은 한계가 있습니다.
예전엔 256byte였는데 요즘은 2048byte까지 올라온것 같습니다. Post는 한계가 없습니다.
(http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=131930)
그래서 만약 파라메터로 넘길게 많다면 당연히 Get 보다는 Post를 써야 합니다. 그럼 왜 다 Post를 쓰지 Get을 써야 하는걸까요?
그건 Get 방식이 Post보단 빠르기 때문이랍니다.
HttpClient을 사용하실려면 여기서 다운 받아서 사용하시면 됩니다.
'Android > Tip&Tech' 카테고리의 다른 글
[펌]동적으로 listview 끝에 스크롤시 로딩시키기 (0) | 2011.07.18 |
---|---|
android HttpClient 재사용(reuse) 관한 팁 (0) | 2011.07.13 |
HttpClient 에 관한 참고 내용 (0) | 2011.07.13 |
XmlSerializer 초간단 예제 (0) | 2011.07.12 |
android map 관련 참고사항 (1) | 2011.07.12 |