0
私は、フォームとWebページをダウンロードしたい、私はこのように、このフォームを記入し、それを提出してから戻りページを取得する必要があります:私はテキストを記入するとフォームを送信してWebページをダウンロードする方法は?
骨の領域では、テキスト領域にいくつかの単語が表示されます。しかし、私のコードは、この機能を完了することはできません、次は私のコードです:
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class DownForm {
public static void doSubmit(String url, Map<String, String> data) throws Exception {
URL siteUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) siteUrl.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
Set keys = data.keySet();
Iterator keyIter = keys.iterator();
String content = "";
for(int i=0; keyIter.hasNext(); i++) {
Object key = keyIter.next();
if(i!=0) {
content += "&";
}
content += key + "=" + URLEncoder.encode(data.get(key), "UTF-8");
}
System.out.println(content);
out.writeBytes(content);
out.flush();
out.close();
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = "";
while((line=in.readLine())!=null) {
System.out.println(line);
}
in.close();
}
public static void main(String args[]){
Map<String, String> data = new HashMap<String, String>();
data.put("meshDataForm", "Pain and incapacity");
try {
doSubmit("http://www.ebi.ac.uk/Rebholz-srv/MeshUP/", data);
} catch (Exception e) {
e.printStackTrace();
}
}
}
ご協力いただきありがとうございます、私は今すぐ修正しました! – tianchengbo