Java实现:服务端登录系统并跳转到系统内的指定页面(不调用浏览器)

1,思路:根据爬虫思想;

2,代码:

/**
* ClassName:AuthFr
* Function: TODO
* Reason: TODO
* Date: 2018年01月05日 上午14:02:44
* @author lizm
* @since JDK 1.6
*
*/
public class Test { public static Map<String, String> headers = null;
static {
headers = new HashMap<String, String>();
headers.put("User-Agent",Pub.getPropertiesValue("datasource", "User-Agent"));
headers.put("Accept-Language", Pub.getPropertiesValue("datasource", "Accept-Language"));
headers.put("Accept-Encoding", Pub.getPropertiesValue("datasource", "Accept-Encoding"));
headers.put("Accept", Pub.getPropertiesValue("datasource", "Accept"));
headers.put("Connection", Pub.getPropertiesValue("datasource", "Connection"));
headers.put("Content-Type", Pub.getPropertiesValue("datasource", "Content-Type"));
} //Java实现:服务端登录系统并跳转到系统内的指定页面(不打开浏览器)
public void gotoUrl(){
//登录页面url+用户名,密码等参数
String url = "";
url = Pub.getPropertiesValue("datasource", "finebi.login.url");
//系统内指定的页面(可带参数)
String url2 = "";
url2 = Pub.getPropertiesValue("datasource", "finebi.cancle.url");
//登录页面
org.jsoup.Connection conn = JsoupHelper.getConnection(url, null, "utf-8", headers);
try {
Response response = conn.execute();
String result = response.body();
//System.out.println("返回的json字符串login:"+result );
Robot r = new Robot();
//延时执行
r.delay(10000);
//重定向页面(必须是同一个conn,不然会跳到登录页面)
conn.url(url2);
response = conn.execute();
result = response.body();
//System.out.println("返回的json字符串cancle:" +result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static void main(String[] args) throws IOException {
Test client = new Test();
client.gotoUrl();
}

3,对应的属性文件(datasource.properties):

#web url
finebi.login.url=登录url
#web url
finebi.cancle.url=访问页面url #head
User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36
Accept-Language=zh-CN,zh;q=0.8
Accept-Encoding=gzip, deflate, sdch, br
Accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Connection=Keep-Alive
Content-Type=application/json;charset=UTF-8

作者:整合侠
链接:http://www.cnblogs.com/lizm166/p/8205085.html
来源:博客园
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Java实现:服务端登录系统并跳转到系统内的指定页面(不调用浏览器)的更多相关文章

  1. Java向服务端转身 系统平台所对应的机器语言 虚拟CPU的机器语言字节码 bytecode

    小结: 1.虚拟CPU的模拟器:java虚拟机 JVM Java将虚拟机(VM)作为插件集成到浏览器中,将编译后的Java程序(Applet)在虚拟机上运行,这种技术 当初是为了增强浏览器的功能. J ...

  2. Unity手游之路<二>Java版服务端使用protostuff简化protobuf开发

    http://blog.csdn.net/janeky/article/details/17151465 开发一款网络游戏,首先要考虑的是客户端服务端之间用何种编码格式进行通信.之前我们介绍了Unit ...

  3. Java Socket 服务端发送数据 客户端接收数据

    服务端: package com.thinkgem.wlw.modules.api.test.socket; /** * @Author: zhouhe * @Date: 2019/4/8 9:30 ...

  4. PHP服务端如何通过程序将图上传到指定的图片服务器与图片服务器的优化方案

    一:PHP服务端如何通过程序将图上传到指定的图片服务器与图片服务器的优化方案 (1) php服务器把图片处理成缩率图或指定大小的图片在通过PHP程序代码 操作FTP 上传到图片服务器. 二:图片服务器 ...

  5. java实现微信小程序服务端(登录)

    微信小程序如今被广泛使用,微信小程序按照微信官网的定义来说就是: 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 这就是微信小程序的魅力所在,有 ...

  6. JAVA WEBSERVICE服务端&客户端的配置及调用(基于JDK)

    前言:我之前是从事C#开发的,因公司项目目前转战JAVA&ANDROID开发,由于对JAVA的各种不了解,遇到的也是重重困难.目前在做WEBSERVICE提供数据支持,看了网上相关大片的资料也 ...

  7. Netty游戏服务器之六服务端登录消息处理

    客户端unity3d已经把消息发送到netty服务器上了,那么ServerHandler类的public void channelRead(ChannelHandlerContext ctx, Obj ...

  8. java的服务端与客户端通信(2)

    一.Socket连接与HTTP连接   1.1Socket套接字 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信 ...

  9. java SDK服务端推送 --极光推送(JPush)

    网址:https://blog.csdn.net/duyusean/article/details/86581475 消息推送在APP应用中越来越普遍,来记录一下项目中用到的一种推送方式,对于Andr ...

随机推荐

  1. boost::lexical_cast

    boost::lexical_cast为数值之间的转换(conversion)提供了一揽子方案,比如:将一个字符串"转换成整数123,代码如下: "; int a = lexica ...

  2. 用httpclient做压力测试时Too many open files的解决办法

    在工作过程中,用httpclient去压测一个web api,发现压一小段时间就出现了Too many open files.实际上,HttpClient建立Socket时 ,post.release ...

  3. js 操作对象的引用和操作实际对象的区分

    JavaScript高级程序设计-第3版-中 有这么一段话: 在操作对象时,实际上是在操作对象的引用而不是实际的对象.为此,引用类型的值是按引用访问的①. ① 这种说法不严密,当复制保存着对象的某个变 ...

  4. Linux下查看mysql路径

    ps -ef|grep mysql

  5. 几种压缩方式:zlib

    zlib:zlib.h http://www.zlib.net/manual.html 编译时加 -lz ZEXTERN int ZEXPORT compress OF((Bytef *dest, u ...

  6. Servlet------>jsp自定义标签(JSPTAG接口)

    TagSupport实现类里不只实现了tag接口,还有tag接口的子接口,也就是IterationTag子接口中增加了doAfterBody()方法和EVAL_BODY_AGAIN常量,为了实现标签体 ...

  7. 多线程入门-第六章-线程的调度与控制之join

    /* 线程合并:将指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程,即单线程. 如在B线程中调用了A的join方法,则线程A执行完后,才会执行线程B. */ public cla ...

  8. ntpdate同步更新时间

    Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步 1 ...

  9. IOUtils方式上传下载文件

    package com.css.hdfs04; import java.io.File; import java.io.FileInputStream; import java.io.FileOutp ...

  10. 调试maven源代码

    下载源代码,导入idea 运行MavenCli ,设置vm参数 -Dclassworlds.conf=/Users/fsq/Downloads/apache-maven-3.6.2.0/bin/m2. ...