开发者社区> 问答> 正文

Java发送Get请求,返回乱码? 400 报错

Java发送Get请求,返回乱码? 400 报错

URL realUrl = new URL("http://odds.500.com/fenxi1/inc/yazhiajax.php?fid=553565&id=280&t=1447826767039&r=1"); URLConnection connection = realUrl.openConnection(); connection.setRequestProperty("Accept", "application/json, text/javascript, /"); connection.setRequestProperty("Accept-Encoding", "gzip, deflate, sdch"); connection.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8"); connection.setRequestProperty("Connection", "keep-alive"); connection.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36"); connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); connection.setRequestProperty("X-Requested-With","XMLHttpRequest"); connection.connect();

Map<String, List<String>> map = connection.getHeaderFields(); for (String key : map.keySet()) {     System.out.println(key + "--->" + map.get(key)); }

in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"GBK")); String line; while ((line = in.readLine()) != null) { result += (line + "\r\n"); }

用上面的代码发送Get请求,得到Header如下

Transfer-Encoding--->[chunked]
null--->[HTTP/1.1 200 OK]
X-Via--->[1.1 12024079D:8107 (Cdn Cache Server V2.0), 1.1 zjqz149:4 (Cdn Cache Server V2.0)]
Server--->[Apache]
Connection--->[keep-alive]
Content-Encoding--->[gzip]
P3P--->[CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"]
Date--->[Wed, 18 Nov 2015 07:05:31 GMT]
Content-Type--->[text/html]
但是得到的result是一堆乱码

上图是Chrome审查元素得到的信息

展开
收起
爱吃鱼的程序员 2020-06-03 15:07:54 840 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你看一下Response,不要看Preview。

    另外,你这个给出来的网址没有数据返回! 

    ######回复 @Sean!Zen : ["<tr><td class=''>0.900<\/td><td>\u534a\u7403<\/td><td class=''>0.920<\/td><td>11-16 19:25<\/td><\/tr>"] 这个是Response里的数据######回复 @随便来一个 : Response应该是JSON数据吧?######Response也是有数据的######编码不对把,\ u534a\u7403这个是unicode编码,解码出来是“半球”######半球是对的######统一用UTF-8######回复 @隔壁老鱼 : UTF-8 GB2312 都试过了 网页是GB2312######回复 @随便来一个 : 浏览器和程序的编码一致吗?######UTF-8试过了,也是乱码######注意下 Content-Encoding--->[gzip] 返回内容进行过 gzip压缩,返回内容先进行解压缩然后看编码了。
    ######java.util.zip.ZipException: Not in GZIP format######要怎么解压######用HttpClient吧,为何要自造轮子。######HttpClient获取不到啊
    2020-06-03 16:39:00
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载