<pre style="font-family:'굴림체';font-size:9pt;"></pre><pre style="font-size:9pt;font-family:'굴림체';">지금 안드로이드를 공부를 하고 있는데 서버 통신을 다룰줄 아는게 php로 json으로 통신이라</pre><pre style="font-size:9pt;font-family:'굴림체';">안드로이드에서 http로 서버와 json 형식으로 통신을 하려고 합니다.</pre><pre style="font-size:9pt;font-family:'굴림체';">get 방식으로 url형식으로 값을 넘길때는 잘 넘어가고 값도 잘 넘어오는 것을 확인해서</pre><pre style="font-size:9pt;font-family:'굴림체';">이번에 post로 값을 넘기려니 오류는 전혀 안나는데 그냥 php에서 $_POST 변수가 텅 비어있네요</pre><pre style="font-size:9pt;font-family:'굴림체';">아래 코드 JOSNObject에서 String으로 뽑을 때 완벽히 json 문자열 형식으로 뽑히는 거 확인했습니다.</pre><pre style="font-size:9pt;font-family:'굴림체';">그냥 제가 느끼기에는 </pre><pre style="font-size:9pt;font-family:'굴림체';"> os.write(param.toString().getBytes(<span style="font-size:9pt;color:#008000;font-weight:bold;">"UTF-8"</span><span style="font-size:9pt;">));</span></pre><pre style="font-size:9pt;font-family:'굴림체';">이 부분이 안드로이드가 값을 못 날리는지, 서버가 받아도 팅기는지 전혀 알 수 없네요</pre><pre style="font-size:9pt;font-family:'굴림체';">블로그 같은 곳은 난 이코드로 잘 전송 됬다. 이런 느낌인데</pre><pre style="font-size:9pt;font-family:'굴림체';">다방면으로 코드 테스트 해봐도 저 줄 외엔 의심을 할 수가 없고, 저 줄을 더이상 어떻게</pre><pre style="font-size:9pt;font-family:'굴림체';">디버깅을 해야할지 감이 안오네요... 이런 경우 흔히 겪어볼만할 것 같은데 님들은 이런 경우 없었던가요?</pre><pre style="font-family:'굴림체';font-size:9pt;"><span style="color:#000080;font-weight:bold;">public static </span>JSONObject POST(String url, JSONObject param)<br>{<br> JSONObject result = <span style="color:#000080;font-weight:bold;">null</span>;<br><span style="color:#000080;font-weight:bold;">try</span>{<br> URL urlCon = <span style="color:#000080;font-weight:bold;">new </span>URL(url);<br> HttpURLConnection httpCon = (HttpURLConnection)urlCon.openConnection();<br><br> httpCon.setRequestProperty(<span style="color:#008000;font-weight:bold;">"Accept"</span>,<span style="color:#008000;font-weight:bold;">"applecation/json"</span>);<br> httpCon.setRequestProperty(<span style="color:#008000;font-weight:bold;">"Content-type"</span>,<span style="color:#008000;font-weight:bold;">"application/json"</span>);<br><br> httpCon.setDoOutput(<span style="color:#000080;font-weight:bold;">true</span>);<br> httpCon.setDoInput(<span style="color:#000080;font-weight:bold;">true</span>);<br><br> OutputStream os = httpCon.getOutputStream();<br> os.write(param.toString().getBytes(<span style="color:#008000;font-weight:bold;">"UTF-8"</span>));<br> os.flush();<br><br><span style="color:#000080;font-weight:bold;">try </span>{<br> InputStream is = httpCon.getInputStream();<br><span style="color:#000080;font-weight:bold;">if</span>(is != <span style="color:#000080;font-weight:bold;">null</span>)<br><span style="color:#000080;font-weight:bold;">try </span>{<br> StringBuffer sb = <span style="color:#000080;font-weight:bold;">new </span>StringBuffer();<br><span style="color:#000080;font-weight:bold;">byte</span>[] b = <span style="color:#000080;font-weight:bold;">new byte</span>[<span style="color:#0000ff;">4096</span>];<br><span style="color:#000080;font-weight:bold;">for </span>(<span style="color:#000080;font-weight:bold;">int </span>n; (n = is.read(b)) != -<span style="color:#0000ff;">1</span>;) {<br> sb.append(<span style="color:#000080;font-weight:bold;">new </span>String(b, <span style="color:#0000ff;">0</span>, n));<br> }<br> result = <span style="color:#000080;font-weight:bold;">new </span>JSONObject(sb.toString());<br> }<br><span style="color:#000080;font-weight:bold;">catch </span>(JSONException e) { e.printStackTrace();}<br> }<br><span style="color:#000080;font-weight:bold;">catch </span>(IOException e) { e.printStackTrace(); }<br><span style="color:#000080;font-weight:bold;">finally </span>{ httpCon.disconnect(); }<br> } <span style="color:#000080;font-weight:bold;">catch </span>(MalformedURLException e){ e.printStackTrace();<br> } <span style="color:#000080;font-weight:bold;">catch </span>(IOException e){ e.printStackTrace();}<br><span style="color:#000080;font-weight:bold;">return </span>result;<br>}</pre>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.