Java Android:BasicClientCookie/CookieStore在cookie值周围添加引号

Java Android:BasicClientCookie/CookieStore在cookie值周围添加引号,java,android,cookies,apache-commons-httpclient,Java,Android,Cookies,Apache Commons Httpclient,我正在使用以下代码片段向Android中的http请求添加cookie,该请求使用Android的DefaultHttpClient发送: CookieStore cookieStore = new BasicCookieStore(); BasicClientCookie2 cookie = new BasicClientCookie2("AUTH_TOKEN", "MY_TOKEN"); cookie.setVersion(1); cookie.setDomain("my.domain.co

我正在使用以下代码片段向Android中的http请求添加cookie,该请求使用Android的DefaultHttpClient发送:

CookieStore cookieStore = new BasicCookieStore();
BasicClientCookie2 cookie = new BasicClientCookie2("AUTH_TOKEN", "MY_TOKEN");
cookie.setVersion(1);
cookie.setDomain("my.domain.com");
cookie.setPath("/");
cookieStore.addCookie(cookie);

context.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
当我在服务器上查看收到的cookie值时,我得到

Cookie: $Version=1; AUTH_TOKEN="MY_TOKEN"
但我期待的是(注意缺少的引号):

不幸的是,额外的引号导致服务器(我无法管理)阻塞,完全忽略cookie

我尝试使用
BasicClientCookie
而不是
BasicClientCookie 2
,但运气不佳。是否对此进行了修复或我遗漏了一些明显的内容?

RFC 6265:

cookie-header = "Cookie:" OWS cookie-string OWS
cookie-string = cookie-pair *( ";" SP cookie-pair )
cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )

所以用户代理可能会在值周围加引号。

显然,调用
cookie.setVersion(0)应该修复此问题,因为根据,Cookie规范的版本0中的引号无效

在我的例子中,由于这是我必须随请求发送的唯一cookie,我自己只是将其添加为一个标题:

post.addHeader(“Cookie”、“AUTH_TOKEN=“+myAuthToken”)

cookie-header = "Cookie:" OWS cookie-string OWS
cookie-string = cookie-pair *( ";" SP cookie-pair )
cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )