2015-09-11 105 views
0

我试图发送在Java中的请求,当它没有标题如下,我重定向到登录页面。Java发送请求编码

URL myURL1 = new URL("http://www.eventlister.com"); 
URL obj = new URL(url); 
HttpURLConnection con = (HttpURLConnection) obj.openConnection(); 
con.setRequestMethod("GET"); 

但是,当请求是用,因为它是从浏览器读取响应我得到它像这样编码 ???}isI??g)b?CZ?n?7BH?:m?u??dkzz; $P????C2?????YT??;??B3m????7/?.o~?p,?????...,即使编码手动设置读卡器时发送的所有头一起发送。

URL myURL1 = new URL("http://www.eventlister.com"); 
URL obj = new URL(url); 
HttpURLConnection con = (HttpURLConnection) obj.openConnection(); 
con.setRequestMethod("GET"); 
con.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36"); 
con.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); 
con.setRequestProperty("Accept-Encoding", "gzip, deflate, sdch"); 
con.setRequestProperty("Accept-Language", "en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4,ru;q=0.2,uk;q=0.2,ja;q=0.2,fr-FR;q=0.2,fr;q=0.2"); 
con.setRequestProperty("Connection", "keep-alive"); 
con.setRequestProperty("Upgrade-Insecure-Requests", "1"); 
con.setRequestProperty("Host", "www.eventlister.com"); 
BufferedReader in = new BufferedReader(
       new InputStreamReader(con.getInputStream(), StandardCharsets.UTF_8)); 
String inputLine; 
StringBuffer response = new StringBuffer(); 
while ((inputLine = in.readLine()) != null) { 
    response.append(inputLine); 
} 
in.close(); 

在此先感谢您。

+1

现在你的问题是什么? – user1438038

+0

eventlister页面是你的还是其他? – yelliver

+0

我想获取请求页面的可读编码 –

回答

0

它看起来像是gzip的数据。尝试不使用“Accept-Encoding:gzip”,以便服务器返回纯文本数据。

我知道这是一条评论,而不是答案。我还没有评论权限:-(