在 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。
如果您以编程方式构造 cookie 对象,只需省略前导点即可。这是根据 OkHttp 实现的规范的规则。