2011-12-20 27 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