我对Java有点新,而且更多的是连接它。我正在尝试创建一个程序来连接到一个网站(“www.buybackprofesional.com”),我想下载图片并从汽车中获取一些文本(登录后你必须输入一个车牌号来访问汽车的文件)。
这就是我现在所拥有的,但它总是说会话已经过期,我需要一种方法来使用主页的用户名和密码登录,我是对的吗?有人可以给我一些建议吗?感谢
注意:我想用Java做,也许我不清楚这个问题。
//URL web = new URL("http://www.buybackprofesional.com/DetallePeri.asp?mat=9073FCV&fec=27/07/2010&tipo=C&modelo=4582&Foto=0");
URL web = new URL("http://www.buybackprofesional.com/");
HttpURLConnection con = (HttpURLConnection) web.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; JVM)");
con.setRequestProperty("Pragma", "no-cache");
con.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
一位大学帮我解决了这个问题,所以我会发布有效的代码:
public static URLConnection login(String _url, String _username, String _password) throws IOException, MalformedURLException {
String data = URLEncoder.encode("Usuario", "UTF-8") + "=" + URLEncoder.encode(_username, "UTF-8");
data += "&" + URLEncoder.encode("Contrase", "UTF-8") + "=" + URLEncoder.encode(_password, "UTF-8");
// Send data
URL url = new URL(_url);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
wr.close();
return conn;
}
这将在我需要的页面上提交表单信息,之后,使用cookies我可以保持联系!