그래서이 코드 조각을 가지고 웹 사이트에서 양식을 채우고 제출한다고 가정하고 제출할 키와 값을 찾는 방법은 무엇입니까? 내가 더 잘 설명하겠다. 나는이 코드를 가지고있다. HTTP POST Request를 보내야한다.하지만 "key1"과 "value1"대신에 "key2"와 "value2" :http 요청을 보내려는 경우 Java로 outputstream으로 무엇을 작성합니까?
public String sendPostRequest(String url) {
StringBuffer sb = null;
try {
String data = URLEncoder.encode("key1", "UTF-8") + "="
+ URLEncoder.encode("value1", "UTF-8");
data += "&" + URLEncoder.encode("key2", "UTF-8") + "="
+ URLEncoder.encode("value2", "UTF-8");
URL requestUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) requestUrl
.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
OutputStreamWriter osw = new OutputStreamWriter(
conn.getOutputStream());
osw.write(data);
osw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
String in = "";
sb = new StringBuffer();
while ((in = br.readLine()) != null) {
sb.append(in + "\n");
}
osw.close();
br.close();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}
이 코드의 작동 복제본을 사용하여 예제 사이트를 제공 할 수 있습니까? (key1/key2 및 value1/value2가 작동하는 것으로 바뀌 었습니다)
더 잘 작동하면 키/값을 더 추가 할 수 있습니다. 모든 다른 사이트에 대해 작성해야 할 항목을 알 수있는 방법을 모르겠습니다.
HTTP 라이브러리를 사용하지 않으려는 이유가 있습니까? –
외부 라이브러리를 사용하고 싶지 않습니다. 그게 무슨 뜻인지 알고 싶다면, "데이터"문자열에 무엇을 삽입해야하는지 알았다면이 코드가 제대로 작동했기 때문입니다. – ZimZim
왜 다른 곳에서 시험되고 테스트되고 최적화 된 코드를 사용하고 싶지 않으십니까? 이 정책을 모든 문제에 적용합니까? 저기에 많은 * 정말로 * 좋은 자바 라이브러리가 있습니다 - "여기에 발명되지 않은"증후군을 피하십시오. –