如何在android中获取网页的原始源代码

时间:2019-04-29 18:44:09

标签: android httpclient

我能够使用HTTPClient获得android中网页的源代码,但是与计算机相比,android的网页源代码有所不同。该如何解决?

1 个答案:

答案 0 :(得分:0)

  

,但是android的网页源代码与计算机的不同。该如何解决?

设置User-Agent标头是台式机浏览器发送的内容,应欺骗服务器以使请求相信来自台式机的请求,并且如果站点的版本不同,则应提供台式机的服务:

var ua = "Mozilla/5.0 (Windows Horst NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" 
var client = new HttpClient()
client.DefaultRequestHeaders
        .Add("User-Agent", ua)

另请参阅此文档:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox

这不是100%的防弹措施,因为如果服务器使用其他方式猜测谁在请求,它可能会失败,但这是最简单的方法,在大多数情况下就足够了。

编辑

  

我曾经使用过像HttpClient一样的HTTPClient httpClient = HttpClientBuilder.create()。build();

然后在setHeader(HttpHeaders.USER_AGENT, ua)之前将build()添加到您的链中:

HttpClientBuilder.create()
    .setHeader(HttpHeaders.USER_AGENT, ua)
    .build();