Java 访问 http | 学习笔记

简介: 快速学习 Java 访问 http。

开发者学堂课程【Java面试疑难点串讲4:Java Web开发:Java 访问 http】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/27/detail/575


Java 访问 http


内容介绍

一、访问 http/https

二、通过 Java 程序调用


一、访问 http/https

●Java 如何访问 http 或是 https;

●如何提交模拟表单。

如果说现在想要配置 https 需要取得一个 CA认证,而后由 CA 签发根证书,再由CA 签发服务器证书,之后再进行客户端的证书签发。

如果要求不高,可以直接利用本地做一个模拟(这个模拟不能在 Tomcat9中进行)只能够在 Tomcat8中进行。

●配置示例:

要想正常使用 https,必须在 jdk 上配置有相应的证书信息。

整个代码如果想要正常进行的话,那 jdk 必须要换成自己的 jdk

图片9.png

1、启动 Tomcat

如果想要配置 https,那必须要求保证可以做一个域名映射:修改 hosts 文件,在文件里面追加一项127.0.0.1apache.com。

如果想进行 https 的配置,那么就需要配置一个域名。

2、修改 server.xml 文件:

进行 http 的配置:需要写上这样的配置

图片10.png

3、模拟一个证书问题

在 Java 中要想模拟这个证书可以使用 Keytool 命令完成,这个命令严格来讲要与认证机构的征求有关才可以拿来使用。

在版本搜索中包括/排除用户专用 JRE

-?-help 输出此帮助消息

-X 输出非标准选项的帮助

-ea[:...l:

-enableassertions[:(packagename>...l:(classnamo>]

按指定的粒度启用断言

da[:(packagename>...l:(classname>]

disableassertions[:...l:(clacsname>]

禁用具有指定粒度的断言

-e5a!-enablecustenassertions

启用系统断言

-dsa!-disablesystemassertions

禁用系统断言

-agentlib:[=<选项>]

加载本机代理库 ,例如-agentlib:hprof

另请参阅·agentlib:jdwp*help 和-agentlib:hprofzhelp

"agentpath:[*(选项>]

按完整路径名加载本机代理库

-javaagent:[=<选项>]

加载 Jaua 编程语言代理,请参阅 java.lang.instrument

-splash:

使用指定的图像显示启动屏慕

有关详细信息,请参阅 :

http://www.oracle.com/technetwork/iava/iavase/documentation/index.htm1.:\Users\优拓>

利用此时的模拟证书就可以进行https的配置了(只适合于Tomcat8.x)。

图片11.png

●http 的默认端口为80,而443是 https 配置的默认端口。

图片12.png

这样设置之后的 https 就可以访问了,改完之后,把 Tomcat 重新再启动一下。

浏览器访问:

图片13.png

这个斜杠代表着网页不安全,但是刚刚只是模拟了一下 https 的效果,但是真是来讲这样叫做不能使用,需要去花钱才能得到一个认证操作。

如果需要通过 Java 模拟 https 访问,也将不能进行访问,必须有PK12的格式证书。


二、通过Java程序调用

1、新建一个Maven项目

图片14.png

这样写完就代表已经有了一个 servlet 的程序

2、通过注解进行访问

图片15.png

如果要想正常访问,最简单的做法是通过地址重写进行参数传递:

http://Apache.com/show demo/show?uname=mldn&uage=10

但是这个参数也可以通过程序模拟。在 Java.net 包中存在有一个URL的程序类,可以直接利用这个类来实现调用操作。

图片16.png

所以说想通过 Java 来调用远程访问地址,最简化的方法就是直接利用 URL 进行访问,但是这样的访问并不专业,而最专业的访问处理使用的是 httpclient 程序类,这个也是由 Apache 推广的程序类。

想通过 apache 来推广的话:

●需要修改 Pom.xml 的配置文件:配置文件里面需要增加一个新的配置项的类。

图片17.png

在整个的代码过程之中就是这样的一个版本

图片18.png

●编写程序

图片19.png

这两类模式都可以帮组实现 http 的调用,但是 httpclient 是一个比较专业的 http模拟的客户端。


相关文章
|
24天前
|
Java Maven Windows
使用Java创建集成JACOB的HTTP服务
本文介绍了如何在Java中创建一个集成JACOB的HTTP服务,使Java应用能够调用Windows的COM组件。文章详细讲解了环境配置、动态加载JACOB DLL、创建HTTP服务器、实现IP白名单及处理HTTP请求的具体步骤,帮助读者实现Java应用与Windows系统的交互。作者拥有23年编程经验,文章来源于稀土掘金。著作权归作者所有,商业转载需授权。
使用Java创建集成JACOB的HTTP服务
|
20天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
20天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
|
10天前
|
存储 Java 关系型数据库
java: 无法访问org.springframework.context.ConfigurableApplicationContext
`亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以及配置用处,根本不懂照抄那些配置是干啥的,稀里糊涂的按照博客搭完也跑不起来,因此记录这个。` `项目背景`:公司项目当前采用http协议+shiro+mysql的登录认证方式,而现在想支持ldap协议认证登录然后能够访问自己公司的项目网站。 `举例说明`:假设我们公司有自己的门户网站,现在我们收购了一家公司,他们数据库采用ldap存储用户数据,那么为了他们账户能登陆我们公司项目所以需要集成,而不是再把他们的账户重新在mysql再创建一遍,万一人家有1W个账户呢,不累死了且也不现实啊。
28 11
|
3天前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
8 1
|
3天前
|
前端开发 JavaScript
HTTP学习笔记
HTTP学习笔记
10 1
|
9天前
|
安全 Java 编译器
java访问字段
java访问字段
19 6
|
6天前
|
安全 Java 编译器
java访问类字段
java访问类字段
|
6天前
|
安全 Java 开发者
Java修饰符与封装:理解访问权限、行为控制与数据隐藏的重要性
Java中的修饰符和封装概念是构建健壯、易维护和扩展的Java应用程序的基石。通过合理利用访问权限修饰符和非访问修饰符,开发者能够设计出更加安全、灵活且高效的代码结构。封装不仅是面向对象编程的核心原则之一,也是提高软件项目质量和可维护性的关键策略。
10 1
|
9天前
|
存储 Java 关系型数据库
java: 无法访问org.springframework.ldap.core.LdapTemplate
`亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以及配置用处,根本不懂照抄那些配置是干啥的,稀里糊涂的按照博客搭完也跑不起来,因此记录这个。` `项目背景`:公司项目当前采用http协议+shiro+mysql的登录认证方式,而现在想支持ldap协议认证登录然后能够访问自己公司的项目网站。 `举例说明`:假设我们公司有自己的门户网站,现在我们收购了一家公司,他们数据库采用ldap存储用户数据,那么为了他们账户能登陆我们公司项目所以需要集成,而不是再把他们的账户重新在mysql再创建一遍,万一人家有1W个账户呢,不累死了且也不现实啊。
12 1
下一篇
无影云桌面