У меня проблема, я очень новичок в Java, и в настоящее время я пытаюсь создать приложение Java для загрузки файлов с веб-сайта. Для входа на сайт вам потребуется пароль и имя пользователя. Я использую NativeSwing для ввода и получения пути к файлам, я видел много примеров, но я не знаю, как их реализовать. Любые советы?Как загрузить XML-файл с веб-сайта с логином
public class Test {
public JFrame frame;
private static JWebBrowser browser;
private static JPanel configurationButtonPanel;
public Test() {
frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(createContent(), BorderLayout.CENTER);
frame.setSize(800, 800);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public JComponent createContent() {
JPanel contentPane = new JPanel(new BorderLayout());
JPanel configurationPanel = new JPanel(new BorderLayout());
configurationButtonPanel = new JPanel(new FlowLayout(
FlowLayout.CENTER, 0, 0));
JButton beginButton = new JButton("Download");
beginButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ArrayList<String> ligas = new ArrayList<String>();
int a=0;
Document doc = Jsoup.parse(browser.getHTMLContent());
Element ele = doc.getElementById("ctl00_MainContent_PnlResultados");
System.setProperty("java.net.useSystemProxies", "true");
try{
Elements img_2 = ele.getElementsByClass("BtnDescarga");
for (Element el : img_2) {
for(Attribute attribute : el.attributes())
{
if(attribute.getKey().equalsIgnoreCase("onclick"))
{
ligas.add("https://portalcfdi.facturaelectronica.sat.gob.mx/"+attribute.getValue().substring(19,535));
}
}
}
}
catch(NullPointerException nulo){
}
for(int i = 0 ; i < ligas.size() ; i++) {
System.out.println(ligas.get(i));
}
}
});
browser = new JWebBrowser();
browser.navigate("https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0");
configurationButtonPanel.add(beginButton);
configurationButtonPanel.setVisible(true);
configurationPanel.add(configurationButtonPanel, BorderLayout.NORTH);
contentPane.add(configurationPanel, BorderLayout.SOUTH);
contentPane.add(browser, BorderLayout.CENTER);
return contentPane;
}
/**
* @param args
*/
public static void main(String[] args) {
NativeInterface.open();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Test();
}
});
NativeInterface.runEventPump();
}
}
Когда запустить эту часть
for(int i = 0 ; i < ligas.size() ; i++) {
System.out.println(ligas.get(i));
}
Я получаю следующий URL, как это:
Я думаю, что это совсем другой вопрос ...Возможно, название это неправильно, потому что реальная проблема заключается в «Вход в SAT и загрузка файлов» ... The! »#! @% SAT это« Проблема »(с P of $) # &" # $) – ThanatosMK