java - 为什么使用 DefaultHTTPClient 获取页面时出现乱码?

标签 java android

我正在尝试使用 Android 的 DefaultHTTPClient 获取页面并使用 Jsoup 解析它。我收到一个非常奇怪的响应,其中 <body> 中的所有 HTML和</body>标签被编码成某种东西。

<html>
  <head></head>
  <body>
       ��������������Y�#I�&amp;�\�+��*;����/U���53�*��U�=�D�I:I� ����X�����΃��=H��2�`Ѓ  ��o��nͽ�C瘹;�l2Y�I_l�����;f��W�k��o2.����?�r&gt;��œ�qYξ&lt;&lt;&lt;;;�g*��ѡl���9&gt;s@I��`R��V �c�������Ɂ��e�����,&gt; }���A�����W�?��&quot;.��ˡhޖ�Qy1�oL�_�W�h?9�E?Ofe��KO�Q��(�Av�N�h@��G�qvV�_G��W�g�'q�2�N��L�?�&quot;鳷�x�o�����$9�}/;'#ȸ Q��&amp;�2�\�a��aǔ�L�I�ԯ�=���TPFE� ���:�,�H�N�'QQԯ&lt;&gt;�i}�x��'$�'O ��qy@J�h 2��ᓃ�CH��ʤO���0�LD)��p8�챺)
  </body>
</html>

这是我获取页面的方法。

  public String doGet(String strUrl, List<NameValuePair> lstParams) throws Exception {

          String strResponse = null;
          HttpGet htpGet = new HttpGet(strUrl);
          //htpGet.addHeader("Accept-Encoding", "gzip, deflate");
          htpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1");
          DefaultHttpClient dhcClient = new DefaultHttpClient();
          PersistentCookieStore pscStore = new PersistentCookieStore(this.objContext);
          dhcClient.setCookieStore(pscStore);
          HttpResponse resResponse = dhcClient.execute(htpGet);
          strResponse = EntityUtils.toString(resResponse.getEntity());
          return strResponse;

  }

为什么会发生这种情况?

如果我使用 Jsoup 本身获取页面,响应就很好。我必须使用Jsoup.connect("http://www.kat.ph/").get()

最佳答案

试试这个方法...结果是一样的吗...

URL url = new URL("Your_URL");

InputStream is = url.openStream();   // or url.openConnection();

Scanner scan = new Scanner(is);

while(scan.hasNextLine()){

 System.out.println(scan.nextLine());


 }

}

关于java - 为什么使用 DefaultHTTPClient 获取页面时出现乱码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12340201/

相关文章:

java - Spring 休息。消除 HTTP.POST 中的 json 属性

java - 尝试膨胀布局时适配器出现异常

机器人:媒体记录器:启动失败:-38

android - Ionic 2 - NavController canGoBack() 始终未定义 (Android)

android - 如何在安卓游戏中释放/释放内存

android - Firebase Analytics 自动运行所需的最低代码是多少?

java - 如何从RecyclerView获取值

java - 将变量应用于处理 3 的屏幕尺寸

java - 使用oracle webservices代理时出现错误: java. lang.NoClassDefFoundError: org/codehaus/stax2/XMLInputFactory2

android - Saripaar 的@ConfirmPassword 不工作