当前位置: 代码迷 >> Java Web开发 >> 用HttpClient请求url对应的网页数据,请求不到,求高手解答
  详细解决方案

用HttpClient请求url对应的网页数据,请求不到,求高手解答

热度:3864   发布时间:2013-02-25 21:10:43.0
用HttpClient请求url对应的网页数据,请求不到,求高手解答,在线等
请求的url是:http://list.tmall.com/search_product.htm?spm=3.1000473.254665.12&active=1&from=sn_1_cat&area_code=330100&navlog=1&nav=spu-cat&vmarket=0&style=g&sort=s&start_price=100&n=120&s=0&cat=50096891&is=cate#J_crumbs
写的代码如下:
Java code
                // 传进去上面的url                HttpClient client = new DefaultHttpClient();        try {            HttpPost httpPost = new HttpPost(url.trim());            HttpResponse response = client.execute(httpPost);            HttpEntity entity = response.getEntity();            if (entity == null) {                System.out.println("url content is null:" + url);            }            System.out.println(EntityUtils.toString(entity);)        } catch (Exception e) {            e.printStackTrace();        }

输出为空
但是输入别的网址,如www.baidu.com就可以请求到
这个问题如何解决?

------解决方案--------------------------------------------------------
你这地址是教程的吗?怎么是天猫网站的地址

------解决方案--------------------------------------------------------
有些网站用程序代开的时候需要设置对应的头文件,你可以到网上查一下相关资料,也有的时候是因为你请求的页面是需要登录的,你再琢磨琢磨吧
------解决方案--------------------------------------------------------
通过 PostMethod postMethod = new PostMethod();

httpClient.executeMethod(postMethod);

InputStream is = postMethod.getResponseBodyAsStream();

读取流的方式,把得到的流转成字符串输出吧。

这个网址response.getEntity();返回是空。
用下面这个输出看一下就知道了。
System.out.println("Response content length: " + entity.getContentLength());

  相关解决方案