国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java - android使用websocket無法訪問cookie。

瀏覽:134日期:2024-02-05 10:09:45

問題描述

我的java服務端為了分清各個用戶使用session里的用戶名做了區分,html頁面使用沒有問題,但是在android端訪問的時候取不到cookie值。

public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {if (request instanceof ServletServerHttpRequest) { ServletServerHttpRequest servletRequest = (ServletServerHttpRequest) request; // 鏈接webSocket時傳遞的參數 標識是否是特定分組, Null表明不是 //String type = (String) servletRequest.getServletRequest().getParameter('type'); HttpSession session = servletRequest.getServletRequest().getSession(false); if (session != null) {LoginUserInfo user = (LoginUserInfo) session.getAttribute('loginUserInfo');//System.out.println('id');//System.out.println(session.getId());if (user != null) { attributes.put('user', user); //attributes.put('type', type);Enumeration<String> params = servletRequest.getServletRequest().getParameterNames(); while (params.hasMoreElements()) {String param = params.nextElement();attributes.put(param, servletRequest.getServletRequest().getParameter(param)); }} }}return true; }

java - android使用websocket無法訪問cookie。 //websocket建立

WebSocketClient websocket;/** * 與服務器建立websocket連接 */private void websocket() { new Thread(new Runnable() {@Overridepublic void run() { //獲取之前的登錄信息 String Cookie = cookie.get(0).getName()+'='+cookie.get(0).getValue()+';'+ cookie.get(4).getName()+'='+cookie.get(4).getValue()+';'+ cookie.get(5).getName()+'='+cookie.get(5).getValue()+';'; application.setCookie(Cookie); Log.i('', Cookie); try {HashMap<String, String> hashMap = new HashMap<String, String>();hashMap.put('Cookie', Cookie);// 這里的url不能帶有http://// 直接使用 xx.xx.xx.xx:端口websocket = new WebSocketClient(new URI(HttpUrlS.WEBSOCKET), new Draft_17(), hashMap, 5000) { @Override public void onOpen(ServerHandshake handshakedata) {Log.d('MyTAG', 'WebSocketClient onOpen'); } @Override public void onMessage(final String message) { //WebSocketUtil.handleMessage(message);Log.i('', '有人說:' + message);runOnUiThread(new Runnable() { @Override public void run() { //Toast.makeText(MainActivity.this, '有人說:' + message, Toast.LENGTH_SHORT).show(); }}); } @Override public void onClose(int code, String reason, boolean remote) {Log.d('MyTAG', 'close = ' + reason); } @Override public void onError(Exception ex) {ex.printStackTrace();Log.d('MyTAG', 'onError = ' + ex.toString()); }};websocket.connect(); } catch (URISyntaxException e) {e.printStackTrace(); }} }).start();}

問題解答

回答1:

他沒傳吧,自定義的loginUserInfo需要android手動傳

回答2:

你好,請問一下Android怎么自定義的loginUserInfo手動傳?

標簽: java
相關文章:
主站蜘蛛池模板: 南康市| 清水县| 高唐县| 调兵山市| 昌黎县| 永兴县| 瑞安市| 宣汉县| 三台县| 滕州市| 香港| 赣榆县| 化隆| 开封市| 江口县| 鸡东县| 博爱县| 黑水县| 雅江县| 罗甸县| 金昌市| 灌南县| 虹口区| 阳曲县| 海门市| 格尔木市| 山丹县| 锦州市| 益阳市| 黔西县| 合江县| 通渭县| 定结县| 滁州市| 凤阳县| 洛川县| 新竹县| 邓州市| 磐石市| 姜堰市| 丽江市|