我正在做我的第一个大学 HTML 项目,我需要使用 servlet 从外部网页获取数据。
首先,在网站上,我需要输入一个密钥代码并填写一个验证码才能到达我需要的页面。我将验证码留给用户,计划在 div 或 iframe 上加载页面,当用户单击“下一步”时,我将隐藏它并使用 servlet 处理数据。
页面是: http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=
我正在使用:
<iframe id="iframeSEFAZ" src="http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=#ctl00_ContentPlaceHolder1_pnlInformacoesConsulta"></iframe>
填写完数据后,我就可以看到我想要的数据了。但我想知道如何将当前页面(填充验证码后的 iframe)传输(缓冲?)到 servlet。
我已经有了解析页面的方法:
public void parse_pagina (String pagina) {
DataBaseColetor db = new DataBaseColetor ();
db.openConnectionDB();
try {
Document doc = Jsoup.parse (pagina);
String texto_html = doc.html ();
System.out.println ("\n\n Página coletada: \n\n " + texto_html);
Elements div = doc.select ("[id=\"divImpressao\"]"); //Seleciona o elemento com id = "divImpressao".
this.armazenarElemento (db, "div", "conteudo", "", "", div);
} catch (Exception e) {
e.printStackTrace ();
}
}
我是网络开发新手,因此非常感谢所有帮助。抱歉我的英语不好。
首次将您想要跨页面共享的值存储在会话属性中。
通过会话在任何页面中访问它。
例如。 sessionObj.setAttribute("sharedVariable","abc"); // 在你的元素最先出现的页面
然后无论您想要什么数据。使用会话属性名称。
例如。 String s = (String) sessionObj.getAttribute("sharedVariable");
经过搜索,我了解到像我的 iframe 这样的跨站点内容无法通过 javascript 读取。所以我正在做这个服务器端。