Android请求WebService保存用户登录Session

Delphi XE12实战指南:从环境搭建到避坑进阶全解析 在企业级桌面应用与遗留系统维护中,Object Pascal及Delphi依然是不可忽视的技术栈。Delphi XE12作为Embarcadero的集大成版本,通过编译器重构与RTL/VCL现代化,提升了跨平台编译、高DPI支持及与新版Windows的兼容性。RAD开发环境下,VCL组件拖拽与对象检查器配合,降低了桌面应用开发门槛。在实际工程中,开发者常需解决SQLite中文乱码、EdgeBrowser导航异常、HTTPS证书校验失败等经典问题,同时可借助FireDAC统一数据库访问、TNetHTTPCli 阅读详情

在请求WebService过程中有时需要保存用户的登录信息,在web中都会自动产生一个对应的session,但android中需要自己获取session并保存,再次请求的时候带上保存的session,否则有时会获取不到已登录时的数据,此处网络请求我采用的是HttpGet,下面是登录时保存session的方法

private static final int REQUEST_TIMEOUT = 30*1000;//设置请求超时10秒钟  
private static final int WAIT_TIMEOUT = 30*1000;  //设置等待数据超时时间10秒钟 
public static String getLogin(String name, String pwd){
		String url = SERVICE_URL+ "Login" + "&UserName=" + name + "&UserPwd=" + pwd;
		try {
			HttpGet httpGet = new HttpGet(url);
			DefaultHttpClient httpClient=getThreadSafeClient();
			HttpResponse response = httpClient.execute(httpGet);
			if (response.getStatusLine().getStatusCode() == 200) {
				HttpEntity entity = response.getEntity();
				result = EntityUtils.toString(entity, HTTP.UTF_8);
			}
			//获得Cookie
			List<Cookie> cookies = httpClient.getCookieStore().getCookies(); 
			if (!cookies.isEmpty()) { 
			    for (int i = 0; i < cookies.size(); i++) { 
			    	Cookie cookie = cookies.get(i); 
			        cookieString = cookie.getName() + "=" + cookie.getValue() + ";domain=" + 
			        cookie.getDomain();
			    } 
			} 
		} catch (ClientProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
}
/**
* ThreadSafeClient
* or Invalid use of SingleClientConnManager: 
* connection still allocated
* @return
*/
public static DefaultHttpClient getThreadSafeClient()  {

	DefaultHttpClient client = new DefaultHttpClient();
	ClientConnectionManager manager = client.getConnectionManager();
	HttpParams params = client.getParams();
	HttpConnectionParams.setConnectionTimeout(params, REQUEST_TIMEOUT);  
	HttpConnectionParams.setSoTimeout(params, SO_TIMEOUT);
	client = new DefaultHttpClient(new ThreadSafeClientConnManager(params, 
	    		manager.getSchemeRegistry()), params);
	   return client;
}
此处注意下次传递的是cookieString,注意格式,下面是再次请求是带上Cookie的方法,只需要传递请求的url就可以了

private static String doHttpGet(String url){
		String get_result = "";
		try {
			HttpGet httpGet = new HttpGet(url);
			//设置Cookie
			httpGet.setHeader("Cookie", cookieString);
			HttpResponse response = httpClient.execute(httpGet);
			if (response.getStatusLine().getStatusCode() == 200) {
				HttpEntity entity = response.getEntity();
				get_result = EntityUtils.toString(entity, HTTP.UTF_8);
			}
		} catch (ClientProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return get_result;
	}
仿美团外卖小程序前后端代码实战:从环境搭建到订单链路二次开发 前后端分离是当前企业级应用的主流架构,它将页面渲染与数据逻辑解耦,通过HTTP接口协同工作。微信小程序作为轻量级前端载体,配合Spring Boot后端服务,能够快速构建完整的业务闭环。本文以外卖小程序为例,从环境准备、数据库设计、接口联调,到订单状态流转、购物车结算、权限控制等核心链路,系统讲解如何将一个真实项目从源码跑通到二次开发。同时总结了端口冲突、数据库时区、Redis未启动、非法域名校验等高频踩坑点,帮助开发者少走弯路。文章适合具备基础Web知识、想通过实战项目提升工程能力的读者。 阅读详情

相关推荐

前端宝典之七:React性能优化实战精华篇

本文主要讲解实战项目中React性能优化的方法,主要分为三个大的方面:减少不必要的组件更新、组件优化以及tree-shaking,共11个方法

franktaoge的博客 1901

Android-用户登陆的例子(服务器端开发到客户端实现)

Android-用户登陆的例子(服务器端开发到客户端实现) 1.回顾        上篇实现总结了App接口开发课程讲解的内容 2.此篇      这篇将总结app接口开发里的 用户登录的例子! 3.基本步骤     (1)服务端实现 登陆接口 开发     (2)实现 json 和xml数据封装类     (3)编写 接口开发文档     (4)实现

码农小战士的博客 1016

MS1861宏晶微视频显示与控制器芯片:开发资料全解析与应用指南

本文全面解析了宏晶微MS1861视频显示与控制器芯片的核心功能与开发流程。该芯片作为高性能的“视频信号翻译官”,支持HDMI、LVDS等多种输入与MIPI、LVDS等输出,集成强大的图像处理与OSD叠加功能。文章详细介绍了从资料获取、环境搭建到以HDMI转MIPI为例的实战配置与调试技巧,为工业HMI、广告机等应用的开发者提供了完整的应用指南。

weixin_29198045的博客 337

Android实现服务器登录

Android实现服务器登录 一、使用MyEclipse创建一个servlet service project服务;( 在创建服务器时一定要创建servlet service project,不能创建servlet project)代码如下: package login; import java.io.IOException; import java.io.PrintWriter; ...

Alan_TW的博客 2588

【从零开始学产品经理】项目立项实战(1)——基本方案与可行性分析:基于微信小程序的记账本

主要阶段:立项-设计-开发-测试-上线-运营-总结。

Ckiyvo的博客 3210

基于Multisim设计电子密码锁

一、设计任务与要求:(可软件仿真实现)1)基本要求:设计一个数字密码锁,要求只有按正确的顺序,输入正确的密码,方能输出开锁信号,实现开锁。设置三个正确的密码键和若干个伪键,任何伪键按下后,密码锁都无法打开。每次只能接受四次按键信号,而且第四个键只能是“确定”或者“重输键”,其他无效。能显示已输入键的个数2)扩展要求:第一次密码输错后,可以输入第二次,但是连续三次输错,密码将被锁,必须按复位键才能解锁。

ablinger的博客 4417

Android与服务器数据交互实现用户登录

1.数据库设计 表名:user 2.服务器端设计 1.新建Web Project 2.项目结构图如下: 3.项目代码 LogLet.java @WebServlet("/LogLet") public class LogLet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServlet...

MasssA 7340

第201期 解锁科研效率新高度:Claude 科学技能插件(claude-scientific-skills)深度体验

科研AI助手Claude Scientific Skills开源工具为Claude大模型扩展科学能力,覆盖数据可视化、数学计算、学术格式处理等科研全流程需求。该插件支持LaTeX公式生成、自动化科研图表绘制、学术文档规范校正等功能,让研究人员通过自然语言指令即可完成专业任务。项目开源可定制,支持特定学科需求扩展,目前已托管于GitHub。使用门槛低,只需配置Claude API密钥即可快速启用,帮助科研人员从繁琐技术细节中解放,聚焦核心研究创新。

全网120W+关注AI拉呱,专注人工智能以及科技前沿! 1358

android的登入功能,Android登陆界面用户名检测功能

今天分享一下登陆界面用户登录名的检测,大家都知道如果在服务器端进行所有用户名的检测是比较浪费资源的。用户每点击一次登陆就要发到服务端去检测,对于服务端来说负荷是比较大的。所以呢在客服端对用户的非法信息进行简单的过滤是非常有必要的。首先看一下效果:当用户输入的用户名长度小于3,或者大于9时将出现红色提示,并且登陆按钮不可点击。当输入的用户名大在合法区间则提示消失,如果密码不为空则登陆按钮可点击虽然...

weixin_35451402的博客 649

RK3588 buildroot 制作的系统增加 docker 支持

RK3588 使用buildroot制作的系统添加 docker 和 docker-compose 的功能

荻夜的博客 1567

计算机视觉与深度学习 | 2024年至2025年图像匹配算法总结(原理,公式,代码,开源链接)

以上总结覆盖了当前主流和前沿技术,实际选择需结合具体场景(速度/精度/资源限制)评估。

尘世冰封的专栏 1586

Android 丨 Service与Activity的信息交互

Android中信息交互大致有两种方式: 1.使用intent在service和activity之间不停地传递信息 2.使用bindService实现,这里有两种实现方式,在重写service当中的onBind方法是,一种方式是通过实现一个Binder接口,通过在这个接口中的实现一个getService方法返回service.this实现,另一种方法是使用aidl这种接口

听说android还不错。。 638

Android SELinux——neverallow问题处理(十六)

遇到 neverallow 规则问题,千万别急着去注释/剔除里面原有的规则(原生的尽量别动)。增加 allow 规则是常见的解决办法,但是随着 android 版本的升级,系统对 SELinux 的管控越来越严,增加了大量的 neverallow。一般情况下,向默认标签授予权限的做法是错误的,其中许多权限都是 neverallow 规则所不允许的。按照上面方法去添加 SELinux 可能会违反了 neverallow 规则,编译时候会报 neverallow 相关的错误。

小旭的专栏 2668

五、WebService会话Session的管理

1、新建Session的WebService测试代码,代码很简单。就是记录用户登录的状态信息,放在MessageContext的ServiceContext中。代码如下: package com.hoo.service; import org.apache.axis2.context.MessageContext; import org.apache.axis2.context.Servi

u010810367的专栏 1032

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

单点登录,与服务器交互,用户Cookie(token)的设计,Cookie与Session的区别

单点登录的cookies Session,Token。 &gt; WebService在 开发中的运用  1. WebService由于采用http协议,而且使用和web服务相同的端口(如80),因此它可以不受防火墙的限制  2. WebService由于采用了XML做传输载体,因此它对所有的编程语言来说都是中性的,也就是说,不同的编程语言可以通过WebService进行通讯  3. 也正因为W...

ShareUs的专栏 1529

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android获取web服务器端session并验证登陆

传统网页实现用户登陆一般采用session或cookie记录用户基本信息又或者两者结合起来使用。android也可以采用session实现用户登陆验证并记录用户登陆状态时的基本信息,session是在服务器端的;而类似cookie的记录方式,则可以在客户端采用xml文件记录用户基本信息,重要数据则可以加密存放客户端。android实现的session登陆功能与网页请求不同的是,网页形式的一次成功的

4053

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

pb一步步开发APP

APP越来越流行,客户需要开发APP,对习惯了pb开发者来说,如何开发APP是个让人头大的问题。其实pb开发APP是完全可行的。 下面就通过示例,一步步都大家如何开发一个APP。先上几张最后的效果图       PB开发Http服务 1.建立workspace命名为test, 建立一个application命名为plugin,创建一个全局函数satrda_service,导入n_sat

pcwe2002的专栏 1万+

Retrofit+OKHttp 教你怎么持久化管理Cookie

来源:极客头条 最近小编有点忙啊,项目比较紧,所以一直在忙活项目,继之前的自定义组件之后就没再写博客了,如果你没看到之前的自定义组件你可以看一下:  Android自定义下拉刷新动画–仿百度外卖下拉刷新  Android自定义组合控件—教你如何自定义下拉刷新和左滑删除  效果还行,源码也已经传到我的Github上了。  那么今天小编来给大家分享点什么呢?对,就是它:Retrofi

shengfakun1234的专栏 917

微信小程序商城开发:原生与uniapp选型对比与避坑指南

在移动应用开发领域,跨端框架与原生开发的选型一直是团队与技术决策者关注的核心话题。原生开发依托平台官方技术栈,直接编译运行,性能上限高且新特性支持及时;跨端框架则通过编译转换与运行时适配,实现一套代码多端复用,显著降低多平台项目的开发与维护成本。以微信小程序商城为例,涉及商品、订单、支付、售后等复杂业务链路,技术路线的选择直接影响项目的开发效率、迭代灵活性与长期维护成本。无论是采用微信原生开发,还是基于uniapp等跨端框架搭建商城源码,都需要充分理解其底层逻辑、源码形态与适用场景。本文从概念到原理,再到工

weixin_33834628的博客 335

OpenClaw 2.0 实战适配指南:Kali/容器/Android跨平台部署与风控绕过

OpenClaw 2.0 是一款面向红队与渗透测试的开源微信生态联动工具,其核心能力围绕本地大模型调度、Chrome 自动化控制与微信协议交互展开。随着 Kali Linux 全面转向 Wayland、Docker 容器化普及及 Termux 原生支持增强,该工具的兼容性面临 Python 环境冲突、GGUF v3 格式不支持、Chrome 沙箱权限缺失、微信 session 指纹熵值坍塌等典型问题。技术价值已从‘开箱即用’转向‘可解构组件库’,适用于本地 PoC 验证、CI/CD 红队流水线嵌入及边缘-云

weixin_33755557的博客 268

客户端与服务器通信实战:从HTTP协议到数据交换的完整指南

在软件架构中,客户端-服务器模型是支撑现代应用的核心基础。其工作原理基于请求-响应模式,客户端作为主动发起方,服务器作为被动处理方,通过网络协议进行通信。这一模型的技术价值在于实现了业务逻辑与用户界面的分离,提升了系统的可扩展性与可维护性。在实际应用场景中,无论是Web网站、移动App还是物联网设备,都依赖于客户端与服务器之间稳定、高效的数据交换。本文聚焦于通信过程中的关键环节,深入探讨了HTTP/HTTPS等协议的工作机制,并解析了JSON、Protobuf等数据格式的选用与实战陷阱,其中涉及异步编程、状

weixin_33681778的博客 399

工业物联网安全:从访问控制原理到未授权访问漏洞实战分析

访问控制是网络安全的核心基础,它通过身份验证和授权机制确保只有合法用户才能访问特定资源。其原理通常涉及会话管理、令牌验证或访问控制列表等技术,旨在构建安全的信任边界。在物联网和工业控制系统领域,这一技术的价值尤为突出,直接关系到物理设备的操控安全和生产过程的稳定。然而,当访问控制机制缺失或配置不当时,便会形成严重的未授权访问漏洞,攻击者无需凭证即可直接操作后台系统。本文以一次真实的工业物联网设备安全分析为例,深入探讨了因访问控制列表失效导致的未授权访问漏洞,并关联了Nacos、Redis等组件的类似安全问题

weixin_33801856的博客 446

移动应用协议逆向实战:绕过SSL Pinning与Protobuf解析

在移动应用安全与数据分析领域,网络通信协议解析是理解应用数据流转逻辑的核心技术。其基本原理在于对客户端与服务器间传输的加密数据进行捕获、解密与结构化还原。这项技术的核心价值在于为自动化测试、风控策略研究、竞品分析与数据聚合服务提供底层数据支持,尤其在当前主流应用广泛采用Protobuf序列化与强化SSL机制的背景下更显重要。典型的应用场景包括安全研究、数据合规分析及第三方服务开发。本文聚焦于通过动态Hook技术绕过SSL Pinning防护,并利用运行时信息逆向技术解析Protobuf协议,完整还原从加密流

weixin_33881140的博客 393

爬虫教程( 4 ) --- scrapy-redis、集群、curl-cffi、scrapy-stealth、aio-scrapy、omnicrawl-core、反检测(反爬)浏览器

分布式爬虫 scrapy-redis、集群

freeking101的博客 6822

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

2026性能测试工具盘点:13款主流压测工具与选型指南

性能测试是保障系统稳定性的核心手段,而压测工具则是模拟真实并发负载、验证服务吞吐能力的基石。从基于线程模型的JMeter到事件驱动架构的Gatling、云原生轻量级的k6,不同工具在并发模拟、协议支持与CI/CD集成上各有侧重。理解这些工具的原理与适用场景,有助于在接口压力测试、全链路压测及容量评估中精准选型。本文梳理了13款主流压测工具,覆盖开源与企业级平台,结合实战经验给出选型建议,帮助测试工程师快速构建高效、可复用的性能测试体系。

weixin_34023982的博客 427
上一篇: Android中点击空白处隐藏软键盘
下一篇: Android完全退出程序
xiawei327
博客等级 码龄15年 3粉丝 6原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值