package exam.post2;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.Toast;

public class http_post2 extends Activity {
    //TabHost mTabHost = null;
  TabHost mTabHost = null;
     String myId, myPWord, myResult;
  
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
                   // Tab 만들기         
         findViewById(R.id.s_btn).setOnClickListener(buttonClick); 
     }

     //------------------------------
     //    button Click
     //------------------------------
     Button.OnClickListener buttonClick = new Button.OnClickListener() {
         public void onClick(View v) {
            // 사용자가 입력한 내용을 전역변수에 저장한다
            myId = ((EditText)(findViewById(R.id.id_ed))).getText().toString(); 
            myPWord = ((EditText)(findViewById(R.id.pw_ed))).getText().toString(); 
          
            HttpPostData();   // 서버와 자료 주고받기
        }
     }; 
    
     //------------------------------
     //   Http Post로 주고 받기
     //------------------------------
     public void HttpPostData() {
          try {
               //--------------------------
               //   URL 설정하고 접속하기
               //--------------------------
               URL url = new URL("http://112.156.111.346:8080/test2.php");       // URL 설정
               HttpURLConnection http = (HttpURLConnection) url.openConnection();   // 접속
               //--------------------------
               //   전송 모드 설정 - 기본적인 설정이다
               //--------------------------
               http.setDefaultUseCaches(false);                                           
               http.setDoInput(true);                         // 서버에서 읽기 모드 지정
               http.setDoOutput(true);                       // 서버로 쓰기 모드 지정 
               http.setRequestMethod("POST");         // 전송 방식은 POST

               // 서버에게 웹에서 <Form>으로 값이 넘어온 것과 같은 방식으로 처리하라는 걸 알려준다
               http.setRequestProperty("content-type", "application/x-www-form-urlencoded");
               //--------------------------
               //   서버로 값 전송
               //--------------------------
               StringBuffer buffer = new StringBuffer();
               buffer.append("id").append("=").append(myId).append("&");                 // php 변수에 값 대입
               buffer.append("pword").append("=").append(myPWord);   // php 변수 앞에 '$' 붙이지 않는다
                        
               OutputStreamWriter outStream = new OutputStreamWriter(http.getOutputStream(), "EUC-KR");
               PrintWriter writer = new PrintWriter(outStream);
               writer.write(buffer.toString());
               writer.flush();
               //--------------------------
               //   서버에서 전송받기
               //--------------------------
               InputStreamReader tmp = new InputStreamReader(http.getInputStream(), "EUC-KR"); 
               BufferedReader reader = new BufferedReader(tmp);
               StringBuilder builder = new StringBuilder();
               String str;
               while ((str = reader.readLine()) != null) {       // 서버에서 라인단위로 보내줄 것이므로 라인단위로 읽는다
                    builder.append(str + "\n");                     // View에 표시하기 위해 라인 구분자 추가
               }
               myResult = builder.toString();                       // 전송결과를 전역 변수에 저장
              ((TextView)(findViewById(R.id.r_text))).setText(myResult);
              Toast.makeText(http_post2.this, "전송 후 결과 받음", 0).show();
          } catch (MalformedURLException e) {
                 //
          } catch (IOException e) {
                 // 
          } // try
     } // HttpPostData
 } // Activity

----

 

<?
// 변수 내용 확인
if ($id == "") $id = "너는 ID도 없냐?";
if ($pword == "") $pword = "칠칠맞게 비밀번호도 잊어먹고 다니네...";
if ($title == "") $title = "증말 개념없는 사람일세...";
if ($subject == "") $subject = "에구~~ 대책이 없네...";
// 변수 내용 출력
echo ("
  님께서 PHP로 전송한 내용입니다
  -----------------------------------------------------------------\r\n
  사용자 ID : $id \r\n
  비밀번호 : $pword \r\n
  개념 : $title \r\n
  대책 : $subject \r\n
  -----------------------------------------------------------------\r\n
  축하드립니다. lesson01.php 를 정삭적으로 호출하셨습니다!
");
?>

 

 

타 사이트에서 올라온 강좌에서

서버만 제 서버라 바꾸었는데요. (강좌분 서버 주소로 하면 값을 받아옵니다.)

값을 전혀 바꾸지 받아오지 못하네요.

이런 경우 어떻게 해야하나요? APM은 오토셋을 사용 중입니다.