java关于post请求会话保持的问题

Java中的JSON格式HTTP POST请求发送指南 在现代软件开发中,HTTP协议的POST请求是一种非常常见的网络通信方式。它主要用于向服务器提交数据,并触发服务器端的处理逻辑。了解HTTP POST请求的基本概念,可以帮助开发者更好地进行客户端与服务器间的交互。Apache HttpClient 是一个功能强大的客户端 HTTP 通信库,广泛用于 Java 应用程序中执行 HTTP 请求。它提供了一种简单而强大的方式来发送 HTTP 请求并处理响应。 阅读详情

有些接口在请求登录之后需要保持会话,所有请求中可以添加cookie,用来保持会话

public static Map<String, String> post(String requestUrl,String param,String sessionPara){
           String sessionId;
           Map<String, String> retMap = new HashMap<String, String>();
           PrintWriter out = null;
           //构建地址
           BufferedReader in = null;
           StringBuffer result = null;
           try {
              URL url = new URL(requestUrl);
              //URL url = uri.toURL();
              URLConnection conn = url.openConnection();
              conn.setRequestProperty("accept", "*/*");
              conn.setRequestProperty("connection", "Keep-Alive");
              conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
              if(!"".equals(sessionPara)) {                  
                  conn.setRequestProperty("cookie", sessionPara);
              }
              conn.setDoOutput(true);
              conn.setDoInput(true);              
              conn.connect();
              result = new StringBuffer();
            //1.获取URLConnection对象对应的输出流
              out = new PrintWriter(conn.getOutputStream());
             //2.中文有乱码的需要将PrintWriter改为如下
                //out=new OutputStreamWriter(conn.getOutputStream(),"UTF-8")
                // 发送请求参数
              out.print(param);
                // flush输出流的缓冲
              out.flush();
              //读取URL的相应
              in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));
              String line;
              while((line = in.readLine())!= null) {
                  result.append(line);
              }
              retMap.put("result",result.toString());
              //会话保持
              String cookieValue = conn.getHeaderField("set-cookie");
              if(cookieValue!=null) {
                  System.out.println("jyzfy:"+cookieValue);
                  sessionId = cookieValue.substring(0, cookieValue.indexOf(";"));
              }else{
                  sessionId ="";
              }
              retMap.put("sessionId", sessionId);
              return retMap;
            } catch (MalformedURLException e) {
                e.printStackTrace();
                sessionId ="";
            } catch (IOException e) {
                e.printStackTrace();
                sessionId ="";
            }finally{
                 try {
                    if(in!=null) {
                        in.close();
                     }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }

            }
           return null;
       }

▄█▀█●各位老铁,如果我的代码能够帮助到你,请给我一个赞吧!

java后台请求http并保持Session java后台请求http,区分get和post,一般是用来抓取带有登陆权限网站的数据,后台先登录,保持session,再请求数据URL 立即下载

相关推荐

使用IDF和VSCode构建ESP32的开发环境

本文主要介绍构建使用IDF和VS-CODE 工具构建ESP32的开发环境的详细步骤,还应用IDF和VS CODE创建ESP32的项目文件,并实现编译和下载功能。

mftang的博客 6821

日记:后台http交互时如何使session保持一致

百度可以百度出来,这里做一点补充说明 原理:第一次交互时,记录对方返回的sessionid,下次再发送时加上次sessionid即可. 本次遇到的问题是,html页面访问后台1,后台1再通过http调用后台2. 此时html1访问后台1,有一个sessionid1,再调用后台2,此时会返回一个sessionid2给后台1 后台1中需要处理一下2个sessionid.当前台传来的是sessionid...

qq_34252875的博客 740

Python+Appium实现泛微OA自动打卡:5分钟搭建移动端自动化脚本

移动端自动化测试是软件测试与办公自动化领域的重要技术方向,其核心原理是通过程序模拟用户对手机应用界面的操作,实现重复性任务的自动执行。Appium作为主流的开源移动端自动化框架,基于WebDriver协议,支持跨平台且无需修改被测应用,为自动化脚本开发提供了标准化接口。在工程实践中,结合Python简洁的语法和丰富的生态,可以快速构建稳定可靠的自动化解决方案。这一技术组合的价值在于能够高效处理“重复性、低价值、高频率”的日常操作,例如考勤打卡、数据填报等办公场景,显著提升工作效率。本文以泛微OA Emobi

weixin_28836875的博客 391

小程序Java多次请求Session不变

微信小程序每次请求的sessionid是变化的,导致对应后台的session不一致,无法获取之前保存在session中的openid和sessionKey。 为了解决这个问题,需要强制同意每次小程序前台请求的sessionid,可以通过在wx.request中设置header,如下所示: header: { 'content-type': 'applicatio...

weixin_30621919的博客 479

ATE测试的未来:自动化与智能化的技术演进

本文探讨了自动测试设备(ATE)在半导体产业中的技术演进,重点关注自动化与智能化的发展趋势。随着芯片制程的不断进步,ATE面临测试复杂度激增和成本压力等挑战。文章分析了AI技术在测试优化中的应用,如自适应测试和缺陷预测,以及模块化架构和端到端测试生态系统的创新。这些技术突破显著提升了测试效率和设备利用率,为半导体测试的未来发展指明了方向。

weixin_29232507的博客 616

电磁阀的符号解读

先数方框数量定“几位”(工作位置数 );数接口数量(P、A、R等 )定“几通”;看箭头、截断符号,结合常态位(弹簧侧/中间位 ),分析通电/断电时的通路切换;字母(P、A、R )、线圈(单/双电控 )、弹簧(复位 )辅助确认功能(如NO/NC对应常态通断 )。不同厂家符号细节(如编码、线圈画法 )有差异,遇到陌生符号,建议结合产品手册、品牌规范核对,就能精准读懂电磁阀的“语言”啦~

创新改变世界! 6908

java session使用_究竟如何保证session一致性?

什么是session?服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建session,提供数据存储功能。最常见的,会把用户的登录信息、用户信息存储在session中,以保持登录状态。什么是session一致性问题?只要用户不重启浏览器,每次http短连接请求,理论上服务端都能定位到ses...

weixin_39803022的博客 679

汽车电子电气架构

控制器:从多独立 ECU → 域控制器(DCU) → 中央计算平台 + 区域控制器,硬件集成度持续提升,冗余减少;算力:从分散无集中算力 → 按域分配算力 → 全域算力集中,算力量级从 MIPS 跃升至 TOPS,支撑高阶智驾;网络:从低速 CAN/LIN 独占 → 以太网为主、总线为辅 → 高速以太网主干,数据传输速率提升千倍;软硬件:从软硬件深度绑定 → 初步解耦 → 完全解耦(SOA),实现 “硬件预埋、软件解锁”;线束。

LXY_LXY_的博客 1439

连续调用多个外部系统的写接口-如何保证数据一致性(思路)

概述 某些场景下,我们将业务数据落地之前,是需要先调用外部系统的多个写接口,当这些写接口都操作成功了,我们才将业务数据落地到自己本地的数据库里面。比如说: public void updateProductInfo(Product product) { //1、将商品价格更新到价格系统 priceService.updatePrice(product); //...

Sam_Deep_Thinking 1万+

K8s-K8s部署Zookeeper+Kafka+ELFK+持久化数据

K8s环境下容器化部署`Zookeeper+Kafka+ELFK`日志收集系统

✅ 专注企业级 Linux/DevOps 运维的实战派 ✅ 已输出上百篇可落地方案 ✅ Shell 脚本开箱即用 ✅ K8s/YAML 环境验证 ✅ 故障排查链路完整复现 1917

使用 Simulink 和 Simscape Electrical 工具箱设计一个 Buck 转换器系统

Buck 转换器(降压转换器)是一种常用的 DC-DC 转换器,用于将较高的输入电压转换为较低的输出电压。为了评估其抗干扰能力,我们可以在模型中引入不同的干扰源,并观察系统的响应情况。电网电压波动:输入电压的变化。负载突变:负载电阻或电感的变化。电磁干扰:高频噪声或脉冲干扰。通过模拟这些干扰,我们可以分析系统的动态响应特性,并采取相应的措施来提高系统的抗干扰能力。

xiaoheshang_123的博客 378

java检测tcp存活_keep-alive 和 TCP存活检测

什么是keep-alive?顾名思义即可,注意它只适用于TCP连接。系统会替你维护一个timer,时间到了,就会向remote peer发送一个probe package,当然里面是没有数据的,对方就会返回一个应答,这时你就知道这个通道保持正常。有什么用呢?考虑下面这个场景,端点A和端B开始连接,三次握手,建立好了一个稳定的双向通道。然后双方发送完初始的数据后,进入等待状态。这时候,拔掉B的电源插...

weixin_29660659的博客 774

笔试题-2023-紫光展锐-数字芯片设计【纯净题目版】

笔试题-2023-紫光展锐-数字芯片设计【纯净题目版】

w0shishabi的博客 2924

Java-servlet(八)详细讲解get请求和post请求的区别,get请求和post请求分别在哪种场景使用

在上一篇博客中,我们深入探讨了Servlet 注解的使用及其对简化开发的作用作为 Web 开发的核心,HTTP 请求方法的选择直接影响程序的安全性、性能和用户体验本文将围绕GET 请求和POST 请求展开,从原理、用法、区别到实战场景进行全面解析我的个人主页,欢迎来阅读我的其他文章我的Java-servlet文章专栏欢迎来阅读指出不足GET 请求和 POST 请求都是 HTTP 协议中用于客户端(如浏览器)与服务器之间进行通信的请求方法,但它们的用途和特性有所不同。一句话总结GET 是 “拿东西”

2402_83322742的博客 1565

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

发送POST请求 使用代理 处理cookies session

哪些地方我们会用到POST请求: 登录注册( POST 比 GET 更安全) 需要传输大文本内容的时候( POST 请求对数据长度没有要求) 所以同样的,我们的爬虫也需要在这两个地方回去模拟浏览器发送post请求 用法: response = requests.post("http://www.baidu.com/", data = data,head

shirley05lhz的博客 2757

IMSL CNL 7.0.0 (x86-64)Crack

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

post cookie java_快速cookie会话不会在POST请求中保留

我有一个AngularJS客户端使用 $http() 函数将POST表单数据发送到Express服务器 . 我希望服务器在持有用户's email address. This is all I' m存储的客户端中设置cookie,所以我只是使用 cookie-session 模块 .Problem: cookie未在客户端持久存在 . 来自同一客户端的后续请求显示空会话变量 .我看到exampl...

weixin_39787594的博客 123

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java使用URLConnection以form形式发送POST请求

1.概述 以form形式发送请求需要设置请求头中的Content-type为application/x-www-form-urlencoded 2.案例代码 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection;

小诸葛的博客 2179

Java实习模拟面试之会话及会话技术:从HTTP无状态到用户状态保持

在Web开发中,HTTP协议的无状态性(Stateless)既是其简单高效的基础,也是实现用户个性化体验的障碍。为了在无状态的HTTP之上构建有状态的交互应用(如登录、购物车),会话(Session)技术应运而生。作为Java方向的实习生,深刻理解会话的本质、核心机制(Cookie与Session)以及现代演进方案,不仅能应对面试中的高频考点,更能体现你对Web应用底层原理的扎实掌握。本篇博客通过一场高度还原的模拟面试,带你深入“会话及会话技术”这一Web开发核心。

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 929

java 307跳转_使用response.sendRedirect方法在Java中发送Post请求

我想在Java中发送发布请求。我已经看到了使用Http Client发布请求的示例。但是我想使用sendRedirect方法。例如,https://processthis.com/process?name=xyz&phone=9898989898我想使用发布请求发送那些参数。 因此,这些参数对任何人都不可见,同时我需要将我的网址重定向到该网址,例如,response.sendRedirec...

weixin_31478029的博客 2174

解决servlet中post请求和get请求中文乱码现象

至此POST请求中文乱码的问题就已经解决,但是这种方案不适用于GET请求,这个原因是什么呢,咱们下面再分析。所以get请求不能用设置编码的方式来解决中文乱码问题,那我们就要思考如何来解决get请求中文乱码问题?分析完上面的问题后,我们会发现,其中有两个我们不熟悉的内容就是。到这,我们就可以分析出GET请求中文参数出现乱码的原因了,在计算的十六进制结果中,每两位前面加一个%,就可以获取到。2.清楚了出现乱码的原因,接下来我们就需要想办法解决。,什么是URL编码,什么又是URL解码呢?这个结果是如何计算的?..

秃头青年的学习记录博客 5227

Java后端使用http post,get请求

package com.fjnu.utils; import com.alibaba.fastjson.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java....

渔闻520的博客 830

Java 中使用 OkHttpClent 请求接口 get方式 post方式

Java基础使用OkHttp请求接口 get方式 post方式

Tao_unafraid的博客 3917

java 模拟post上传文件_JAVA模拟HTTP post请求上传文件

在开发中,我们使用的比较多的HTTP请求方式基本上就是GET、POST。其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等。而我们在使用HTTP请求时中遇到的比较麻烦的事情就是构造文件上传的HTTP报文格式,这个格式虽说也比较简单,但也比较容易出错。今天我们就一起来学习HTTP POST的报文格式以及通过Java来模拟文件上传的请求。首先我们来看一个POST的...

weixin_35729243的博客 802

iOS网络编程————POST请求和GET请求

iOS网络编程内容很多,也很重要,小编慢慢总结,慢慢来讲。 iOS的网络编程主要涉及两者:客户端和服务器端,上传和下载数据都是客户端通过访问服务器端来实现的。 服务器端开发语言有Java,.Net,C/C++,PHP,Ruby,Python等,而手机客户端的开发语言有OC,Java等与后端开发语言不同,因此要实现服务器端与客户端的数据传输必然要有约定一种数据传输的格式和传输协议,否则二者不能进

Lerryteng的博客 5256

java发送application/json格式的post请求,需要登陆

package util; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import java.util.List; ...

Mia专栏 2427

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

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

9609
上一篇: 接口测试工具postMan、soapUI百度网盘下载以及简单使用
下一篇: Java 解决POST请求乱码问题-Spring框架
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值