首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Android上使用Cordova Websockets发送cookies

在Android上使用Cordova Websockets发送cookies
EN

Stack Overflow用户
提问于 2016-08-11 22:03:29
回答 1查看 718关注 0票数 1

随着最新的Android-Webview更新(52.0.2743.98),我真的很难使用Cordova向我的websocket服务器发送cookie。

我使用cookies进行身份验证,在更新之前,这段代码工作得很好:this.websocket = new WebSocket(url);

我甚至尝试了另一种在握手期间强制使用cookie头的方法,但它不起作用:

代码语言:javascript
运行
复制
this.websocket = new WebSocket(
  url,
  [],
  { headers: { Cookie: 'key=value' } }
);

以下是服务器响应:

代码语言:javascript
运行
复制
WebSocket connection to 'wss://api.my.url/dev/ws' failed:
Error during WebSocket handshake: Unexpected response code: 403

在Chrome的网络选项卡下:

代码语言:javascript
运行
复制
Request:
Accept-Encoding:gzip, deflate
Accept-Language:en-GB,en-US;q=0.8
Cache-Control:no-cache
Connection:Upgrade
Host:api.host.com
Origin:file://
Pragma:no-cache
Sec-WebSocket-Extensions:permessage-deflate; client_max_window_bits
Sec-WebSocket-Key:<random value>==
Sec-WebSocket-Version:13
Upgrade:websocket
User-Agent:Mozilla/5.0 (Linux; Android 6.0.1; Nexus 6P Build/MTC19X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Mobile Safari/537.36
X-Requested-With:com.domain

Response:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type
Access-Control-Allow-Methods:GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin:file://
Connection:keep-alive
Content-Encoding:gzip
Content-Type:application/json; charset=utf-8
Date:Thu, 11 Aug 2016 13:47:09 GMT
Server:nginx/1.8.1
Set-Cookie:key=<random id>; Path=/
Transfer-Encoding:chunked
Vary:Accept-Encoding

请注意,它仍然适用于Chrome和IOS (以及Android的早期版本-Webview)

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-18 12:53:56

也许解决你的问题的更好的选择是改变浏览器。现在,您使用chrome浏览器来显示混合应用程序,您可以更改此默认浏览器。

我用WebSockets也遇到了同样的问题,我用的是CrossWalk浏览器,而WebSockets没有任何问题。您可以在以下页面中查看CrossWalk项目:https://crosswalk-project.org/documentation/android.html

我正在使用Ionic来实现我的应用程序,只有我必须运行以下命令才能安装CrossWalk浏览器:

ionic browser添加人行横道

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38898584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档