私はこのコードを手に入れました。これで動作するようになりました。これで基本的にHTTP投稿を送信し、要素に名前属性が含まれていない限りほとんどの外部Webサイトに要求を送信できます。ここでは例です:HTTPリクエストを送信してGET/POSTをJavaで作成するには?
これは、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();
}
これは私が(それがこのサイトhttp://www.w3schools.com/html/html_forms.aspされ、W3Schoolsのサイト上のフォームの)に要求を送信しようとしている形です。
今<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>
送信]ボタンをname属性を持っていないので、私は(私はそれがこのケースでgetメソッドを知っている)、それを適切なHTTP GET/POSTリクエストを送信することはできません。実際にこのフォームにリクエストを送信するために、Stringデータを(どのような適切なキー/値と)置き換えるのですか?私はhttpリクエスト
のHttpClientを生成するためのHttpClientを使用しています
?私は特定のサイトにHTTP Post Requestを送信するために使用する必要があるキー/値を尋ねています... – ZimZim
@ user1007059:HttpClientはあなたの問題を解決するための優れた可読性を提供します...私はこのプロジェクトでhttpclien 4.1を使用していて、任意のURLからデータを取得しています。 –