JSOUP html parse在android设备上给出不同的结果vs windows机器

下面的代码在我电脑上的java文件上运行,给出了“/ pws/client/pdf/offers-in-store-10-11-16”的正确结果.PDF“JSOUP html parse在android设备上给出不同的结果vs windows机器

   String pdfLink= null; 
        try { 


      Document doc = Jsoup.connect("http://www.dunnesstores.com/offer20/food-wine/fcp-category/home").get(); 
      Element links = doc.select("a[title=\"Download offers in store\"]").first(); 
      System.out.println(links.attr("href")); 


     } catch (IOException e) { 
      //e.printStackTrace(); 
     } 

然而,当我运行一个应用程序它是由按下按钮激活的Android设备上的代码,我得到一个空指针异常‘pdfLink = links.attr(’HREF”) ;”所以它没有找到链接“/pws/client/pdf/offers-in-store-10-11-16.pdf”出于任何原因。在我的Android应用程序中,代码位于按钮的onclick监听器上,通过代码,它激活上点击并运行的代码行权,但无论出于何种原因JSOUP没有找到link.Below是Android代码

  public class MainActivity extends AppCompatActivity { 

@Override 
protected void>
                                
                            

Daniel

回答

手机浏览器的用户代理从桌面上的区别浏览器;因此,HTML响应不同。为了获得相同的结果,您必须设置桌面用户代理。改变这一行:

Document doc = Jsoup.connect("http://www.dunnesstores.com/offer20/food-wine/fcp-category/home").get(); 

到:

Document doc = Jsoup.connect("http://www.dunnesstores.com/offer20/food-wine/fcp-category/home").userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0").get(); 

Eritrean

JSOUP html parse在android设备上给出不同的结果vs windows机器