2013-10-24 47 views
2

我有一個Android應用程序需要在連接中設置一個requestproperty。這裏是我的代碼:Android setRequestProperty在url.openConnection()

URL url = new URL(sUrl); 

HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
connection.setRequestProperty("cookie", cookievalue); 
connection.connect(); 

當我打電話setRequestProperty方法是啓動例外:

java.lang.IllegalStateException: Cannot set request property after connection is made 

有沒有一種方法來創建不使用url.openConnection()連接到文件?

回答

1

你可以嘗試使用CookieManager在http://developer.android.com/reference/java/net/HttpURLConnection.html

提到你的cookie設置爲CookieManager

CookieManager cookieManager = new CookieManager(); 
    CookieHandler.setDefault(cookieManager); 

    HttpCookie cookie = new HttpCookie("lang", "fr"); 
    cookie.setDomain("twitter.com"); 
    cookie.setPath("/"); 
    cookie.setVersion(0); 
    cookieManager.getCookieStore().add(new URI("http://twitter.com/"), cookie); 

來源:http://developer.android.com/reference/java/net/HttpURLConnection.html

設置您的cookie後使用url.openConnection()。

+0

它的工作原理!謝謝Alex。 – David

+0

是的,它真的起作用了! –

2

這裏url.openCOnnection()將打開與此URL引用的資源的新連接。 在這裏你再次打開一個連接,通過調用url.connect()方法。所以刪除

檢查this..爲樣本例如...

+0

該異常拋出sendRequestProperty行,而不是在url.connect() – David

相關問題