HttpClient 4.0 保持登录session 访问网页

HttpClient Cookies 管理 Cookie是存储在客户端计算机上的文本文件,用于各种信息跟踪目的。HttpClient可以为创建和管理cookie提供支持。 阅读详情

转:http://huangzhir.iteye.com/blog/1880844

session的保持是通过cookie来维持的,所以如果用户有勾选X天内免登录,这个session 就X天内一直有效,就是通过这个cookie来维护。如果没选X天内免登录,基本上就本次才能保持session,下次打开浏览器就要重新登录了。 
所以在web安全里,黑客通过XSS,最终目的就是获取cookie,从免登录直接进入系统。 

这次要讲的是,得到用户cookie后,免登录,用HttpClient 保持原来session访问原本一定要登录才能做的事。 

HttpClient 4.x 库可以自己处理Cookie 
有两咱广度可以添加cookie, 
1.通过  httpclient.setCookieStore(cookieStore) 
2.通过  httpGet 或者 httpPost 的addHeader(new BasicHeader("Cookie",cookie)); 


第一种, 
HttpClient是否在下次请求中携带从服务器端请求来的Cookie,完全是由设置决定的。 

httpclient.getParams.setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BEST_MATCH) 或者 CookiePolicy.BROWSER_COMPATIBILITY 
如果设置为Cookie策略为BEST_MATCH,或BROWSER_COMPATIBILITY的话,HttpClient会在请求中携带由服务器返回的Cookie。如果不设置,应该需要手动添加了CookieStore,才会保持sesson. 

如果设置为Cookie策略为默认的话,没设置,则需要手动通过 
httpclient.setCookieStore(cookieStore); 去设置. 

注:如果用的是同一个HttpClient(上下两个请求用同一个httpclient对象。 
且没去手动连接放掉client.getConnectionManager().shutdown(); )! 
都不用去设置cookie的ClientPNames.COOKIE_POLICY。httpclient都是会保留cookie的! 


第二种, 
通过Header去设置cookie,这种方法,就是今天要用的应用场景, 
我们得到一个登录的cookie,免登录访问。 
可以用浏览器登录,然后f12通过console 执行 document.cookie 得到cookie, 
用这个cookie ,在访问时,设置  httpGet 或者 httpPost 的addHeader(new BasicHeader("Cookie",cookie));就可以免登录访问。 


这种场景我用来用第一种方法,设置没成功,可能是因为用第一种时,没设置path,domain,expire 的原因,我猪的。 

这种场景可以解决第一次登录也需要验证码的网站。没有登录就没办法发布或刷新信息。 
如赶集网。 

Apache HttpClient 5 使用详细教程 转存失败重新上传取消超文本传输协议(HTTP)可能是当今互联网上最重要的协议之一,Web 服务、微服务以及支持网络的各种设备上的服务几乎都是 HTTP 协议,HTTP 协议已经从 Web 浏览器走向了更广泛的使用场景。虽然java.net包已经提供了 HTTP 访问资源的基本功能,但是它不够灵活,而且不能随心所欲的进行自定义。... 阅读详情

相关推荐

微信扫码登录后端实战:OAuth2.0授权回调与用户信息获取全解析

OAuth2.0是一种开放授权标准协议,它定义了资源所有者、客户端、授权服务器和资源服务器四个角色,通过授权码模式实现安全的第三方应用授权。其核心原理是客户端引导用户至授权服务器,用户同意授权后,授权服务器通过回调地址返回一个短期有效的授权码,客户端再用此码换取访问令牌,最终凭令牌访问受保护的用户资源。这一机制在技术上的核心价值在于,它将用户凭证与第三方应用隔离,避免了密码泄露风险,同时实现了细粒度的权限控制。在工程实践中,OAuth2.0广泛应用于社交登录、API授权等场景,例如微信生态的扫码登录功能。本

weixin_30315905的博客 522

httpclient4.5获取和设置cookie

public static void main(String[] args) { CookieStore cookieStore = new BasicCookieStore(); CloseableHttpClient httpClient = HttpClients.custom() .setDefaultCookieStore(cookieStore)

z69183787的专栏 2万+

微信公众号网页授权多域名解决方案:Token机制与架构设计

在Web开发中,OAuth 2.0授权码模式是实现第三方应用安全获取用户资源的标准协议,其核心价值在于提供了一种安全、标准的用户身份验证与授权流程。在微信公众号生态中,网页授权功能正是基于此协议,使H5页面能获取用户OpenID及基本信息,从而支撑支付、会员等核心业务场景。然而,微信平台对网页授权回调域名有严格的单一域名限制,这给多业务线并行开发、本地环境调试及第三方合作带来了显著的技术挑战。为解决这一痛点,本文深入探讨了基于Token验证机制的授权中转方案。该方案通过构建一个位于合规域名下的中心化授权服务

weixin_33796177的博客 377

HttpClient的POST和GET请求和Session的保持-yellowcong

对于Http的get和post是无状态的,所以我们需要将socket保存,然后带着socket去访问网站,就好像我们浏览器去访问一样,就可以爬去登录后的数据 HttpClient工具类所用到的jar包 其实这个jar包,真是很淡腾,由于HttpClient比较的重要,所以和Java自带的.net包中的有些重复,所以我就把这个jar贴出来了 commons-codec-...

9608

Java集成K3Cloud WebApi实战:认证、会话管理与数据交互详解

在企业级应用开发中,系统集成是实现数据互通和业务流程自动化的核心技术。通过Web API进行跨系统通信,其核心原理是基于HTTP协议,通过标准化的接口规范完成数据交换。这项技术的价值在于能够连接异构系统,打破信息孤岛,提升企业运营效率。典型的应用场景包括ERP与自研业务系统、移动应用及供应链平台的对接。本文聚焦于Java语言调用金蝶K3Cloud WebApi这一具体实践,深入剖析其特有的动态密码认证机制和基于Cookie的会话管理,并提供了使用Apache HttpClient进行稳定调用的完整方案与避坑

weixin_34221112的博客 368

Android平台Java实现知乎登录爬虫实战项目

为了规避反爬机制,合理设置请求头和使用代理服务器至关重要。许多网站(包括知乎)会根据User-AgentReferer等字段判断请求是否来自真实用户。同时,频繁访问同一IP可能导致临时封禁,因此轮换代理成为必要手段。为解决上述限制,需创建文件:-- 允许所有域名使用明文流量 -->-- 针对特定域名启用SSL Pinning --></pin-set>并在中引用:... >

weixin_42584586的博客 3269

Java:HttpClient篇,HttpClient4.2在Java中的几则应用:Get、Post参数、Session(会话)保持、Proxy(代理服务器)设置,多线程设置...

新版HttpClient4.2与之前的3.x版本有了很大变化,建议从http://hc.apache.org/处以得到最新的信息。 关于HttpCore与HttpClient:HttpCore是位于HTTP传输组件的底层包,可以用来简化HTTP客户端与服务器端的开发。HttpClient是一个符合HTTP1.1版本,基于HttpCore类包的一个实现。它同时为客户端认证、HTTP状态管理、H

常思考->有目标->重实践->善反思 996

C# WinForm桌面爬虫开发:从HttpClient异步请求到HtmlAgilityPack数据解析实战

网络爬虫技术是自动化获取互联网公开信息的关键手段,其核心原理是通过程序模拟浏览器发送HTTP请求,并解析返回的HTML或JSON数据。这项技术的价值在于能够将人工重复、低效的信息搜集工作自动化,显著提升数据获取与处理的效率。在数据监控、市场调研、学术研究等场景中,爬虫技术发挥着重要作用。本文聚焦于使用C# WinForm框架快速构建一个桌面端爬虫应用,详细阐述了如何利用HttpClient进行高效的异步网络请求,以及如何通过HtmlAgilityPack库精准解析和提取网页中的结构化数据,为开发者提供一个即

weixin_33417488的博客 248

Android 通过httpclient请求web服务器,并解决用户登录session保持

package com.rainet.tiis.network; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache....

810364804 228

httpclient如何保持session会话模拟登录后的操作

NULL 博文链接:https://shaozhen.iteye.com/blog/946680

电涡流位移测量技术深度解密

电涡流位移传感器凭借非接触测量、高精度(可达纳米级)、强环境适应性(耐高温高压油污)等优势,成为工业精密位移检测的核心技术。其工作原理基于电磁感应:高频磁场在金属靶面感应涡流,通过检测线圈阻抗变化转化为位移信号。应用需注意靶材依赖性(需按实际材料标定)、安装精度及抗干扰措施。广泛应用于磁悬浮轴承、航空发动机、精密制造等领域,实现对微米级位移的可靠监测。

技术工作者 1755

Java:HttpClient篇,HttpClient4.2在Java中的几则应用:Get、Post参数、Session(会话)保持、Proxy(代理服务器)设置,多线程设置......

原文:http://www.cnblogs.com/nayitian/p/3282029.html     新版HttpClient4.2与之前的3.x版本有了很大变化,建议从http://hc.apache.org/处以得到最新的信息。 关于HttpCore与HttpClient:HttpCore是位于HTTP传输组件的底层包,可以用来简化HTTP客户端与服务器端的开发。HttpCl...

weixin_34306593的博客 313

Clion+platformIO开发ESP32时找不到lib文件中引入第三方库的头文件(头文件下有波浪线),实际编译是成功的解决方法

Clion+platformIO开发ESP引入第三方库文件编译器无法找到.h文件但编译成功

zs5218的博客 1852

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

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

阳光灿烂的日子的博客 1981

多元相关性分析_PAST:最简便易用的统计学分析软件教程目录

欢迎来到PAST的世界!本教程并不是将PAST的所有功能均进行详细介绍,而只是挑选与生物、医学、微生物研究相关的统计学分析内容进行讲述。根据PAST内各项分析的标签分类,将该教程具体设置如下:PAST软件介绍PAST的基本信息数据的输入和修改数据的转换和标准化图像绘制 (Plot标签)点线图和直方图散点图条形图和箱须图饼图堆叠条形图三元相图气泡图单变量统计学分析 (Univariate标...

weixin_39605706的博客 3158

利用 Openocd 和 FT2232H 实现 ARMv8(Coretex-A53)高效调试方案

本文详细介绍了如何利用开源工具OpenOCD与高性能USB转接芯片FT2232H,构建一套针对ARMv8架构(如Cortex-A53)的高效、低成本调试方案。内容涵盖从环境搭建、驱动配置、核心调试架构解析到实战问题排查的全过程,帮助开发者实现对多核处理器的透明、可控调试,是嵌入式Linux及底层开发的实用指南。

weixin_29163581的博客 280

java模拟登录保存session,使用HttpClient模拟网站登陆sina邮箱(保持远程服务器session和cookie) (转载) - 海浪 - 博客园...

http://www.cnblogs.com/yesun/archive/2007/09/23/903319.html/*** 通过URL取得网页内容*/private void HttpRequestURL(){String postData = "";if(_tc.getPostData()!=null && !_tc.getPostData().equals("")){pos...

weixin_30068377的博客 471

mipi协议中的calibration和scramble模式

在MIPI(Mobile Industry Processor Interface)协议中,calibration(校准)和scramble(加扰)模式是两个重要的特性,它们分别用于优化数据传输的准确性和减少信号干扰。

flomingo1的专栏 2401

uni-app微信登录全栈实践:多端适配与Spring Boot后端整合

用户认证是移动应用与Web开发中的基础且关键环节,其核心原理是通过安全令牌实现身份验证与状态管理。OAuth 2.0等开放授权标准为此提供了通用框架,而微信生态的登录能力则是其在特定平台下的重要实现。在工程实践中,跨平台开发框架如uni-app,结合后端主流技术栈如Spring Boot和MyBatis Plus,能够高效构建一套统一、安全、可扩展的认证体系。这种技术组合的价值在于,它允许开发者使用一套代码覆盖小程序、H5、App等多个终端,同时在后端通过模块化设计处理多端差异,确保业务逻辑的一致性与数据安

weixin_30225755的博客 280

USC EE450 CSCI455 CSCI571 Midterm 总结

EE450 Compter Network                1.历年Midterm考题。(更新至2017年spring,如果大家有新的资源欢迎编辑)                 google drive:https://drive.google.com/drive/folders/0B_LCDxpiiXZ1cUNReFpZZHo4NG8?usp=sharing

Small_hour 7112

博途S7-1200与昆仑通态MCGS纯仿真联调实战指南

本文详细介绍了博途S7-1200与昆仑通态MCGS纯仿真联调的实战指南,包括环境搭建、配置步骤、通信桥接及故障排除。通过TIA Portal和MCGS Pro搭建的仿真环境,可实现80%以上的基础功能验证,适用于工业自动化学习和开发,大幅降低硬件投入成本。

weixin_26834815的博客 439

Andrew XUtils的session获得和cookieStore使用

转载自: http://www.cnblogs.com/bxfx111/p/4153389.html?utm_source=tuicool 之前使用过XUtils框架做过项目,当时因为session纠结了好久,但是解决了,现在回想起来,好像没有备份,赶紧写份笔记备份下,以后方便使用。 主要是登陆服务器后,应该保存一个登陆状态,登陆后,会保存个登陆状态,只有保存这个状才

做一个不断积累的人 948

ArcMap|使用模型构建器将kml文件批量转图层

参考:https://www.jianshu.com/p/6de18f846024 第一步:打开模型构建器,拖入kml转图层工具 第二步:插入文件迭代器 第三步:双击“迭代文件”,选择kml所在文件夹 第四步:将“File.kml”与“KML转图层”连接,点击“输入KML文件” 第五步:双击“KML转图层”,更改输出位置,输出数据名称改为%名称% 第六步:运行模型 得到结果: ...

个人学习笔记 3601
上一篇: httpclient的webservice客户端与session验证
下一篇: HttpClient入门
lcathm
博客等级 码龄18年 37粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值