나는 triyng이므로 서버에 POST 요청을 보냅니다. 다음 Java 코드는 PC 응용 프로그램에서 작동하지만 Android 응용 프로그램에서는 작동하지 않습니다. Iternet 사용 권한이 추가되었으므로이 게시물을 보내려면 어떻게해야합니까? Android 용으로이 코드를 바꾸려면 다른 방법과 라이브러리를 사용해야합니까?Android 응용 프로그램에서 POST 보내기
String hostname = "xxxxxxx.box";
int port = 80;
InetAddress addr = InetAddress.getByName(hostname);
Socket sock = new Socket(addr, port);
String SID = new classSID("xxxxxx").obtainSID();
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream(),"UTF-8"));
String str = "enabled=on&username="+givenName+"&email="+givenEmail+"&password="+givenPassword+"&frominternet=on&box_admin_rights=on&phone_rights=on&homeauto_rights=on&uid=&sid="+SID+"&apply=";
////////////////////////////////////////////////////////////////////////////////////////////
wr.write("POST /system/boxuser_edit.lua HTTP/1.1");
wr.write("Host: xxxxxx:80" + "\r\n");
wr.write("Accept: text/html" + "\r\n");
wr.write("Keep-Alive: 300" + "\r\n");
wr.write("Connection: Keep-Alive" + "\r\n");
wr.write("Content-Type: application/x-www-form-urlencoded"+"\r\n");
wr.write("Content-Length: "+str.length()+"\r\n");
wr.write("\r\n");
wr.write(str+"\r\n");
wr.flush();
////////////////////////////////////////////////////////////////////////////////////////////
BufferedReader rd = new BufferedReader(new InputStreamReader(sock.getInputStream(),"UTF-8"));
String line;
while((line = rd.readLine()) != null)
Log.v("Response", line);
wr.close();
rd.close();
sock.close();
}
무엇이 오류인가 –
안녕하세요, 오류를 잡으려고했지만 오류가 없습니다. 그냥 작동하지 않습니다. – Soyer
호스트 이름 대신 ip를 사용하고 아래 제공된 코드 –