2011-12-20 22 views
3

我正在开发一个应用程序,在该应用程序中我必须读取url的内容,并在向它发送请求参数之后,我必须将该请求发送回服务器。我用Jsoup库来获取响应。但是,当我给我的网址(“http://10.100.56.55:8090”),这是cyberoam的响应不会被提取。我正在开发自动登录到cyberoam的应用程序。现在,如果我给任何其他网址,那么我的代码工作得很好。但是对于这个URL,抛出了这里写的异常。通过在java中编码获取URL响应

代码:

ResourceBundle rb = ResourceBundle.getBundle("bundle.Configuration");        
try 
{    
    Document doc=Jsoup.connect(rb.getString("cyberlink_url")).get(); 
} 
catch (Exception e) 
{ 
    System.out.println("Error Class is :- " + e.getClass()); 
    e.printStackTrace(); 
} 

错误:

Error Class is :- class java.nio.charset.IllegalCharsetNameException 
java.nio.charset.IllegalCharsetNameException: UTF=8 
    at java.nio.charset.Charset.checkName(Charset.java:320) 
    at java.nio.charset.Charset.lookup2(Charset.java:496) 
    at java.nio.charset.Charset.lookup(Charset.java:475) 
    at java.nio.charset.Charset.forName(Charset.java:540) 
    at org.jsoup.helper.DataUtil.parseByteData(DataUtil.java:78) 
    at org.jsoup.helper.HttpConnection$Response.parse(HttpConnection.java:440) 
    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:133) 
    at cyberoam.Cyberoam.btnLoginActionPerformed(Cyberoam.java:199) 
    at cyberoam.Cyberoam.access$000(Cyberoam.java:24) 
    at cyberoam.Cyberoam$1.actionPerformed(Cyberoam.java:82) 
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) 
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) 
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) 
    ....... 

我面对这里的问题是,为什么只有网站的响应不取?那有什么问题?我已经尝试了与其他网站的网址,如谷歌,雅虎上述代码,它完美的作品。该网址可以通过网址访问。如果我缺少重要的东西,请帮助我。

回答

2

由于您未启用端口转发,因此我们无法查看“您网址的内容”。

不过,我猜有响应的线路是这样的:

<?xml version="1.0" encoding="UTF=8" ?> 

或者

<meta http-equiv="Content-Type" content="text/html; charset=UTF=8"> 

你必须将其更改为

<?xml version="1.0" encoding="UTF-8" ?> 

或者

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

通过更改,我的意思是:服务器响应的web服务器(您自己设置的,例如XAMPP)可能正在上传xml(或html)文件。该文件是错误行的文件。当然,UTF=8不存在。 UTF-8呢。

+0

它给错误了,所以我如何更改url的内容?我怎样才能启用端口转发? – ankurtr 2011-12-20 21:12:21

+0

不,您必须编辑HttpServer上传的文件。我猜想某种'index.html'。 – 2011-12-20 21:13:18

+0

那我不能这样做。因为我不允许编辑网站的任何内容。它由管理员控制,我猜想由于某种安全性,我只能无法获取响应。 – ankurtr 2011-12-20 21:15:09