OkHttp Cookie 的域以点开头

问题描述 投票:0回答:1

在 Xamarin 应用程序中,我们在 Android 上遇到问题,如果请求包含域名以点开头的 cookie,OkHttp 将无法发送请求。

Exception:     java.lang.IllegalArgumentException
Ex. Message:   unexpected domain: .direct.aviva.co.uk

Original stack trace:
======================
java.lang.IllegalArgumentException : unexpected domain: .my.domain.com
        at okhttp3.Cookie$Builder.domain(Cookie.kt:297)
        at okhttp3.Cookie$Builder.domain(Cookie.kt:287)

据我所知,域名以点开头是有效的,但在过去这可能是不允许的,这是正确的吗?难道新版本的OkHttp就不会抛出这个错误了?

我们使用的是 OkHttp 4.9.0。

android xamarin.android okhttp
1个回答
0
投票

如果您以编程方式构造 cookie 对象,只需省略前导点即可。这是根据 OkHttp 实现的规范的规则。

https://datatracker.ietf.org/doc/html/rfc6265#section-5.2.3

© www.soinside.com 2019 - 2024. All rights reserved.