如何发布和获取数据 - JSOUP JAVA

时间:2018-04-23 17:40:14

标签: java jsoup

伙计我正在尝试将post方法发送到https://www.servientrega.com/wps/portal/Colombia/transacciones-personas/rastreo-envios并获得tracke和trace的结果。我需要发送这个号码,例如:2003159943。这是我的代码:

Connection.Response Form = Jsoup
       .connect("https://www.servientrega.com/wps/portal/Colombia/transacciones-personas/rastreo-envios")
        .validateTLSCertificates(false)
        .method(Connection.Method.GET)
        .execute();

        Document document = Jsoup
        .connect("https://www.servientrega.com/wps/portal/Colombia/transacciones-personas/rastreo-envios")
        .validateTLSCertificates(false)
        .data("txtNumGuia", "2003159943")
        .cookies(Form.cookies())
        .post();

我需要了解这段历史: Image with the data what I want

但是当我尝试println(文档)时,我得到了这个:

Image with the result what I got

enter image description here

1 个答案:

答案 0 :(得分:0)

您要获取的数据是在下载页面后通过javascript设置的。 Jsoup不执行javascript,它只下载初始html。

如果您检查了哪些连接,例如使用浏览器调试工具,您会发现,数据是根据请求下载到api:https://web.servientrega.com/PortalServientrega/WebServicePortal/tracking/api/envio/2003159943/1/es

您正在寻找的数据应该是响应。

Document document = Jsoup.connect("https://web.servientrega.com/PortalServientrega/WebServicePortal/tracking/api/envio/2003159943/1/es")
                         .validateTLSCertificates(false) 
                         .ignoreContentType(true) 
                         .get(); 
System.out.println(document.text());