Java HttpCliet模拟用户登录并保持会话下载文件

java 模拟登录(含验证码) 使用 tess4j 识别验证码,实现java post 登录网站,忘记了很久以前写的了,改了下积分大家可以免费下载 立即下载
public class HttpUtil {
	public static HttpClient client = null;
/**
	 * 登录成功下载
	 * @param loginUrl 登录地址
	 * @param data 表单值的map
	 * @param downloadurl 下载路径
	 * @param path 本地存放路径
	 * @return
	 */
	public static String download(String loginUrl,Map<String, String> data,String downloadurl,String path) {
		login(loginUrl, data);	
		GetMethod get = new GetMethod(downloadurl);		
		FileOutputStream outputStream = null;		
		try {
			int i = client.executeMethod(get);
			if("200".equals(i)) {
				outputStream = new FileOutputStream(path);
				outputStream.write(get.getResponseBody());
			}else{
				client = null;
				loginNh(loginUrl, data);
				client.executeMethod(get);
				outputStream = new FileOutputStream(path);
				outputStream.write(get.getResponseBody());
			}
		} catch (HttpException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			try {
				outputStream.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			get.releaseConnection();
		}
		
		return null;
	}
	/**
	 * 模拟表单登录
	 * @param loginUrl 
	 * @param data
	 */
	private static void login(String loginUrl,Map<String, String> data) {
		if(client==null) {
			client = new HttpClient();
			PostMethod post = new PostMethod(loginUrl);
			Set<Entry<String, String>> set = data.entrySet();
			for (Entry<String, String> entry : set) {
				//表单值
				post.addParameter(entry.getKey(), entry.getValue());
			}
			byte[] bytes;
			try {
				client.executeMethod(post);
				bytes = post.getResponseBody();
				String result = new String(bytes,"UTF-8");
				System.out.println("登录result:"+result);
			} catch (IOException e) {
				e.printStackTrace();
			}finally{
				post.releaseConnection();
			}
		}	
	}
}

 

模拟登陆百度的Java实现 NULL 博文链接:https://kevinflynn.iteye.com/blog/2220285 立即下载

相关推荐

NVIDIA NCCL 安装和测试实战教程

ibrary)是用于深度学习应用的高性能通信库,可加速多GPU通信和同步。它能够在多个GPU之间进行高效的数据传输和集体操作,显著提高了分布式GPU系统上深度学习训练和推理的性能。NVIDIA NCCL是加速多GPU系统上深度学习应用的必不可少的工具。其高效的通信原语和集体操作显著提高了分布式训练和推理的性能,使其成为现代深度学习基础架构的关键组成部分。

weixin_39818775的博客 4432

java 使用http协议实现登录及免密登录(使用cookie)

http服务器主类 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; import java.util.HashMap; import java.util.UUID; import java.util.concu

KEVIN_WANG333的博客 2474

避坑指南:Win10安装Docker Desktop时Hyper-V报错的7种解决方案(2024最新版)

本文提供了2024年最新、最全面的Windows 10系统下Docker Desktop安装时Hyper-V报错的解决方案指南。文章深入剖析了Hyper-V与Docker的共生关系,并系统性地给出了从BIOS/UEFI设置、Windows功能启用、bcdedit命令修复到处理多虚拟化环境共存等7种核心解决方案,帮助开发者彻底解决安装困局,顺利部署容器化开发环境。

weixin_28840143的博客 531

java 模拟http登录_模拟http请求登录网站

[java]代码库import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.URL;import java.net.URLC...

weixin_33892912的博客 607

告别偏移地址!用C# S7PLUS驱动读写西门子S7-1500符号地址(TIA Portal V17+环境配置)

本文详细介绍了如何在TIA Portal V17+环境中使用C# S7PLUS驱动读写西门子S7-1500 PLC的符号地址,告别传统的偏移地址方式。通过配置OpenSSL、集成S7PLUS驱动库,以及实战案例展示符号地址的读写方法,显著提升代码可读性和维护效率。文章还涵盖了环境准备、高级配置及常见问题解决方案,助力工业自动化开发者实现更高效的PLC通讯。

weixin_28720767的博客 319

手把手教你配置C6678的SPI启动:从NorFlash烧写到多核加载的完整流程

本文详细介绍了TMS320C6678多核DSP的SPI启动全流程,包括硬件准备、镜像文件生成与转换、NorFlash烧写与验证、多核启动同步机制以及常见问题排查。通过实战演示,帮助开发者高效配置SPI启动模式,解决启动失败、多核同步异常等问题,提升嵌入式系统开发效率。

weixin_27076351的博客 152

tomcat配置https(单向认证)+如何使用java请求

一.  创建tomcat证书   这里使用JDK自带的keytool工具来生成证书:   1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe     2. 在命令行中输入以下命令: keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "g:\tomcat.keystore" ...

Jason丶宇的博客 2198

Codex 实战 Skills:自动采集一天之内的 Git 提交,一键排版成精美工作日报并发送邮件

特性手动撰写脚本辅助(仅聚合)AI 增强自动化(本文方案)时间成本高(30-60分钟/天)中(5-10分钟/天)低(<1分钟/天)内容质量依赖个人总结能力原始数据堆砌,缺乏提炼专业、结构化、有业务视角信息完整性易遗漏完整,但难以阅读完整,且经过分类筛选维护成本无低中(需维护 Skill 配置)可扩展性低中高(可轻松添加周报、月报)适用场景所有开发者初级开发者追求效率的高级开发者本文详细介绍了一种基于 Codex Agent Skills 的自动日报生成方案。

yueyeguzhuo的专栏 104

java https登录_如何从Java登录和下载https网页中的文件?

我必须登录https网页并使用Java下载文件.我事先知道所有的URL:baseURL = // a https URL;urlMap = new HashMap();urlMap.put("login", new URL(baseURL, "exec.asp?login=username&pass=XPTO"));urlMap.put("logout", new URL(baseURL,...

weixin_39850699的博客 424

SAP成本核算的核心逻辑

SAP成本核算采用"计划-归集-分析"闭环管理,以CO模块为核心,集成PP、MM等模块。核算前需配置标准成本控制范围、成本中心等主数据。标准成本通过BOM和工艺路线计算(CK11N),采购和生产过程记录实际成本差异。制造费用通过成本中心归集,作业成本按实际耗用量分配。完工产品按标准成本入库,月末通过KO88结算工单差异,物料分类账(CKMLCP)还原实际成本。整个流程实现FI与CO数据同步,确保账务一致。关键事务码包括CK11N(成本估算)、MIGO(物料移动)、CO11N(报工)等。

金牌架构师 540

轴承故障诊断领域的论文到底有多水

这个是最让人困惑的,就好像你说自己证明了某个方法更好,但是你却没有交代自己怎么做的,或者说你交代的过程有外行话或者逻辑上的缺陷,但是你就这么给出个结果完事了。由于自己没有足够大的学术交流圈子,为了尽量避免误判,我在原来13篇论文的基础上又读了18篇,这些论文至少都出自中文核心,有一些还有EI的title,事实上近几年能找到的文章也不算多,这些基本能说明问题了。当然,还有更多细节,比如说损失函数你得交代吧,模型超参数得介绍全吧,至少数据集是哪个工况下的得说吧,当你想复现这些论文,关注点在这些地方的时候。

weixin_50642818的博客 3053

java模拟http请求,通过流的方式发送数据,模拟接收流文件和json数据

项目里碰到过模拟ajax请求的案例,研究了一下,觉得 httpClient 是真心好用,由于模拟环境搞了大半天,httpclient就另外再写博文吧 下面的例子介绍流的方式发送和接收,这个就有点暴力了,想传啥都行:以字节流的方式发送数据(可以是任何数据) 看标题就知道了,简单粗暴的方法,管他什么格式,统统“流”过去,不过既然是模拟的,要配置好其他参数,对方才能正常接收到 发送方: ...

akxj2022的博客 2万+

鱼鹰优化算法(OOA)详解:从猛禽捕食智能到优化算法实现

鱼鹰优化算法(Osprey Optimization Algorithm, OOA)是2023年提出的一种新型元启发式优化算法,灵感来源于鱼鹰(一种中型猛禽)高效的捕食策略。算法模拟了鱼鹰从空中识别水下鱼类位置并俯冲捕食,然后将捕获的鱼带至安全位置享用的全过程,以此抽象出全局探索和局部开发两个核心阶段。OOA算法具有参数少、结构简单、收敛速度快、全局寻优能力强等特点。自提出以来,已在函数优化、机器学习参数调优(如CatBoost模型)、路径规划等多个领域展现出良好性能,为解决复杂优化问题提供了新的有效工具。

qq_42212808的博客 274

java httpclient教程_Java 使用HttpClient模拟 Http Get和Post 提交

package com.html580.connection;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;import org.apache.commons.httpcli...

weixin_31739613的博客 301

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java后台模拟http请求上传文件

import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.O...

zhangkun987123的博客 1037

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

java模拟HTTP请求工具

import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util

lingdou的博客 860

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

登录成功后完成文件下载功能

1.登录成功后,完成文件的下载. 基本操作和14天笔记第一题一样 [1] Insert title here 文件下载的列表页面 &lt;h3&gt;手动编码的方式下载&lt;/h3&gt; &lt;a href="/day15/DownloadServlet1?filename=ooo.txt"&gt;ooo.txt&lt;/br&gt;&lt;...

pf503603的博客 679

通过Java代码,模拟登陆,下载其系统的文件

Java代码下载其他系统的文件时,需要有:登陆链接、密码、账户和下载链接; 在登陆之时,需要对url进行转码,使得后台提交不能出现乱码(根据自身实际情况进行设置转码格式)。只需要每次请求携带cookie值,并且将请求参数携带即可,如下案例下载时有token需要将值携带才可进行下载 import org.apache.commons.codec.binary.Base64; import org.a...

weixin_43525290的博客 836

http协议及基于http协议的文件下载

目录 1. HTTP 协议概述 2. URL 与资源 3. HTTP报文 4. 使用Postman 获取数据 5. 基于HTTP协议的文件下载 5.1 文件整体下载 5.2 文件分段(Range)下载 5.2.1 获取文件的大小 5.2.2 下载分段文件 5.3 文件分块(chunk)下载 1. HTTP 协议概述 日常我们使用网络用得最多的无疑是在Web 浏览器(下文统...

Xanthium 2万+

java做个系统文件下载_通过Java代码,模拟登陆,下载其系统的文件

Java代码下载其他系统的文件时,需要有:登陆链接、密码、账户和下载链接;在登陆之时,需要对url进行转码,使得后台提交不能出现乱码(根据自身实际情况进行设置转码格式)。只需要每次请求携带cookie值,并且将请求参数携带即可,如下案例下载时有token需要将值携带才可进行下载import org.apache.commons.codec.binary.Base64;import org.apac...

weixin_42188512的博客 565

java实现ftp连接、登陆、上传、下载、删除文件、获取目录、文件列表

全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现ftp连接、登陆、上传、下载、删除文件、获取目录、文件列表等操作。本地调试,首先需要在本机上开启ftp服务和ftp站点。测试代码public static void main (String args []) throws IOException{ // 标准登陆过程 FtpClient f = n

1万+

模拟登录系列4-java 登录网站后保持会话下载文件

文本是继上次百度开发者接口图文识别、模拟登录网站两篇文章后的;这里直接引用前两次的成果;源码附在博客中了,在顶部↑↑↑↑;(如果有疑问或者要源码可以发送邮件给我 552312627@qq.com)。 需求场景:登录某一个特定的网站,在保持会话的同时,并从该网站下载指定的文件到本地。 注意:这里只有等会后的保持会话和下载,验证和登录请查看我另一篇文章。 准备工作: 1、确保已经对改网站模...

qq_30515213的博客 673

Java模拟Web登陆(Post模式)

https://blog.youkuaiyun.com/a527603/article/details/38490583Java模拟Web登陆(Post模式)// 连接地址(通过阅读html源代码获得,即为登陆表单提交的URL)    String surl = "http://192.168.5.40:8090/ylysystem/systemmgmt/mainmanage/login.sc";      ...

丸子小章鱼 7862

java http 登陆_如何在Java中使用HttpSession跟踪登录尝试?

我有一个无框架的Web应用程序。我需要使用会话来实现一种检查不成功登录的简单方法。如果用户尝试使用不正确的用户名/密码组合登录3次,则会给他们20分钟的超时时间,然后才能再次尝试登录。当前,只有在用户成功登录系统后,我才设置用户会话。但是,似乎我也应该在未成功登录的情况下进行会话,并以某种方式计算登录尝试次数。Login.jsp(简体版):User name:Password:CustomerDa...

weixin_32734143的博客 341
上一篇: md5加密和md5带盐加密
下一篇: Vue实现百度离线地图(v2.0)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值