Olá a todos,
eu estou precisando de ajuda com um programa em java que estou desenvolvendo.
Bem, a maioria já deve conhecer o megaupload. Eu possuo uma conta premium neste site
e estou qurendo fazer um programa que capture o link premium da página, sem que eu precise ficar
entrando no site toda hora que quero baixar algo, ainda mais quando são arquivos quem estão divididos
em dezenas de partes.
Eu percebi que após fazer login na minha conta, ao acessar o link normal de um arquivo, o link premium aparece
na página.
Então, para fazer o que eu quero, eu passaria o link normal do arquivo ao meu programa, e então o programa
acessaria o site do megaupload, faria login em minha conta, e após o login ter sido feito, eu procuraria pelo
link no código fonte da página.
Eu já comecei a pesquisar e a fazer algo usando URL e HttpURLConnection, com isso consegui o html da pagina, mas não encontrei o que eu queria, porisso
não tenho certeza se realmente eu consegui fazer o login na pagina.
aqui vai o código:
[code]import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Properties;
public class AcessaPagina {
InputStream stream;
BufferedReader rd;
OutputStreamWriter wr;
FileOutputStream fos;
public AcessaPagina() throws IOException {
try {
URL url;
HttpURLConnection urlConn;
DataInputStream dis;
String headerName = null;
String sessionCookie = null;
url = new URL("http://www.megaupload.com/?c=login");
urlConn = (HttpURLConnection) url.openConnection();
urlConn.setInstanceFollowRedirects(false);
urlConn.setDoOutput(true);
String data = URLEncoder.encode("username", "UTF-8")
+ "="
+ URLEncoder.encode("nomedeusuario",
"UTF-8");
data += "&"
+ URLEncoder.encode("password", "UTF-8")
+ "="
+ URLEncoder.encode("senha",
"UTF-8");
wr = new OutputStreamWriter(urlConn.getOutputStream());
wr.write(data);
wr.flush();
for (int i = 1; (headerName = urlConn.getHeaderFieldKey(i)) != null; i++) {
if (headerName.equalsIgnoreCase("Set-Cookie")) {
if (sessionCookie == "") {
sessionCookie = urlConn.getHeaderField(i);
} else {
sessionCookie += "; " + urlConn.getHeaderField(i);
}
}
}
url = new URL(
"http://www.megaupload.com/?d=B0MLGMTP");
urlConn = (HttpURLConnection) url.openConnection();
urlConn.setRequestProperty("Cookie", sessionCookie);
File arquivo;
arquivo = new File("pagina.htm");
fos = new FileOutputStream(arquivo);
// Pega a resposta
rd = new BufferedReader(new InputStreamReader(urlConn
.getInputStream()));
String line;
String saida = "";
while ((line = rd.readLine()) != null) {
fos.write(line.getBytes());
saida = saida + line + "\n";
}
System.out.println(saida);
} catch (MalformedURLException mue) {
mue.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
wr.close();
fos.close();
rd.close();
//stream.close();
}
}
[/code]
Neste caso eu começei pela página de login, passando o usuario e senha, e depois tentei acessar o link normal de um arquivo.
Desde já agradeço.
Abs.