<?
$conn = mysql_connect('**' , '**', '**');
$db = mysql_select_db("**", $conn);
$sql = "select id,password from rank where id='$_GET[id]'";
$sql_result = mysql_query($sql, $conn);
while ($row = mysql_fetch_assoc($sql_result)) {
echo $row['id']," ",$row['password'];
}
/* 결과셋 해제하기 */
mysql_free_result($sql_result);
/* 접속 종료 */
mysql_close($conn);
?>
일단 이게 php페이지 내용입니다. GET방식으로 URL뒤에 id변수로 값을 넘겨주면 DB에서 가져와서 출력하는데...
브라우저에서 보면 원하는 값 나오고, 소스보기로 봐도 원하는 값입니다.
근데
URL url = new URL("**"+id);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
if(conn != null){
conn.setConnectTimeout(6000);
conn.setUseCaches(false);
if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "euc-kr"));
tempid = br.readLine();이렇게 읽어서 저 tempid변수에 읽어들인 값을 log찍어보면 이상한 값이 나옵니다...
(원하는 값이 나오긴 나오는데 앞뒤로 이상한게 붙어있습니다; 예를들면, 還幕b bb 이런식으로-_-;;; 원래라면 bb bb 이렇게 나와야하는데...)
고수님들에겐 정말 간단한 문제 일것 같은데.. 아침부터 전 후벼봐도 답이 안나오네요...
도움의 손길 한번 뻗어 주십시오!
HttpUrlConnection 보다는
HttpClient를 사용하시기를 추천하고 싶네요~~
아래는 제가 사용하는 소스 코드입니다
POST로 되어 있는데요... POST를 GET으로 바꾸어 사용하시면 될것 같아요~~
//Map<String, String> parameters;
try {
String url = urls[0];
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
if (parameters != null) {
Iterator<String> keys = parameters.keySet().iterator();
while (keys.hasNext()) {
String key = keys.next();
params.add(new BasicNameValuePair(key, parameters.get(key)));
}
}
UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params, HTTP.UTF_8);
post.setEntity(ent);
HttpResponse responsePost = client.execute(post);
final HttpEntity resEntity = responsePost.getEntity();
return EntityUtils.toString(resEntity).trim();
} catch (Exception e) {
return null;
}



자답입니다.
http://blog.bagesoft.com/917 를 참조하여 해결 했습니다.
정확한 본문의 내용이 어디까지인지, 그리고 길이는 얼마인지 나타내는 숫자가 포함됐었고
그걸 그대로 가져와서 출력했기때문에 이상한 문자가 출력된거 같습니다.
저 숫자가 아에 포함이 안되게 애써보다가 php페이지를 좀 수정하여 비켜 갔습니다.
echo "\n<id>",$row['id'], "\n<pw>",$row['password'];
출력부를 위와 같이 수정하여, 자바에서 파싱할때 <id>또는 <pw>태그를 찾아 파싱하는 방법으로 해결했습니다.