url.openConnection()中的Android setRequestProperty

时间:2013-10-24 11:53:09

标签: java android httpurlconnection illegalstateexception

我有一个需要在连接中设置requestproperty的Android应用。这是我的代码:

 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()的情况下创建与文件的连接?

2 个答案:

答案 0 :(得分:2)

此处 url.openCOnnection() 将打开与此网址引用的资源的新连接。 在这里,您再次通过调用 url.connect() 方法打开连接。所以删除

检查this..示例示例...

答案 1 :(得分:1)

您可以尝试使用http://developer.android.com/reference/java/net/HttpURLConnection.html

中提到的CookieManager

将您的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()。