使用HttpUrlConnection与齐射

时间:2015-02-09 14:42:11

标签: android httpurlconnection android-volley

我到处读到凌空将使用HttpUrlConnection用于较新版本的api或HttpClient用于旧版本,我试图告诉凌空只使用HttpUrlConnection。

我的主要目标是使用我存储的cookie设置volley执行请求,为此我知道我需要使用cookie设置HttpUrlConnection,然后将其传递给volley以用作默认实现。

到目前为止一直很好,但我不知道如何启动HttpUrlConnection并将cookie添加到它。

有人可以给我一个小例子,说明如何初始化HttpUrlConnection并为其添加一个cookie,然后将其传递给凌空?

我能够在HttpUrlConnection上执行这样的请求并且它有效但是如何将其设置为与凌空一起使用?

URL urlLink = new URL(url2);
HttpURLConnection conenction = (HttpURLConnection)urlLink.openConnection();
conenction.setRequestProperty("Cookie", cookie);

1 个答案:

答案 0 :(得分:5)

  

我到处读到凌空将使用HttpUrlConnection用于较新版本的api或HttpClient用于旧版本,我试图告诉凌空只使用HttpUrlConnection。

这是对的。见Volley source的第54-60行。如果您的应用在使用Gingerbread(API级别9)或更高版本的设备上运行,则它已针对所有请求使用HttpUrlConnection

如果您真的想在请求中使用自己的HttpUrlConnection实例,则需要实现自己的HttpStack(有关示例,请参阅Volley的HurlStack)。您可以使用Volley# newRequestQueue(Context, HttpStack)告诉Volley使用您的自定义堆栈。

但是,有许多替代方法可以发送Cookie。我建议您查看this question部分替代方案。