그래서이 코드를 가지고 작동 시켰고 기본적으로 http 포스트를 보내고 엘리먼트가 name 속성을 포함하지 않는 한 거의 모든 외부 웹 사이트에 요청을 할 수있게되었습니다.HTTP 요청을 보내서 GET/POST를 사용하여 Java로 양식 하시겠습니까?
이 자바 코드 :
public static String sendPostRequest(String url) {
StringBuffer sb = null;
try {
String data = URLEncoder.encode("user", "UTF-8") + "="
+ URLEncoder.encode("myUserName", "UTF-8") + "&"
+ URLEncoder.encode("submit", "UTF-8") + "="
+ URLEncoder.encode("Submit", "UTF-8");
URL requestUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) requestUrl
.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("GET");
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();
}
이 난에 요청을 보내려고 양식은 (는 W3 스쿨 사이트에서 양식이 사이트 http://www.w3schools.com/html/html_forms.asp 인,의) 다음은 예입니다 : 에 이름 속성이하지 않는 버튼을 제출하기 때문에
<form name="input0" target="_blank" action="html_form_action.asp" method="get">
Username:
<input type="text" name="user" size="20" />
<input type="submit" value="Submit" />
</form>
는 지금, 나는/적절한 HTTP가 가져 그것에 POST 요청을 (나는 그것이이 경우 get 메소드 알고) 보낼 수 없습니다. String 데이터를 실제로 (이 키/값이 적절한) 것으로 대체하여 실제로이 양식에 요청을 보내려면 어떻게해야합니까? 내가 HTTP 요청
HttpClient를 생성을위한 HttpClient를 사용하고
어떻게 이런 일이 내가 할 노력하고있어 어떤 방법으로 상대에? 특정 사이트에 HTTP 포스트 요청을 보내려면 사용해야하는 키/값을 묻는 중입니다 ...API의 일종에 관한 아니 – ZimZim
@ user1007059 : HttpClient는 당신에게 당신이 문제를 해결할 수있는 더 나은 가독성을 줄 것이다 ... 나는 내 프로젝트 에서이 httpclien 4.1을 사용하고 모든 URL에서 데이터를 가져옵니다. –