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模拟的客户端。


相关文章
|
8天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
|
18天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
32 3
|
20天前
|
SQL Java 数据库连接
打破瓶颈:利用Java连接池技术提升数据库访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,避免了频繁的连接建立和断开,显著提升了数据库访问效率。常见的连接池库包括HikariCP、C3P0和DBCP,它们提供了丰富的配置选项和强大的功能,帮助优化应用性能。
39 2
|
30天前
|
Java
Java访问外网图片地址时,如何添加代理?
【10月更文挑战第14天】Java访问外网图片地址时,如何添加代理?
22 2
|
1月前
|
小程序 Java
小程序访问java后台失败解决方案
小程序访问java后台失败解决方案
44 2
|
1月前
|
小程序 JavaScript Java
小程序访问java后台
小程序访问java后台
27 1
|
1月前
|
存储 Java
深入理解java对象的访问定位
这篇文章深入探讨了Java对象的访问定位机制,比较了使用句柄和直接指针两种主流的对象访问方式,并指出了它们各自的优势,例如句柄访问在对象移动时的稳定性和直接指针访问的速度优势。
33 0
深入理解java对象的访问定位
|
1月前
|
JavaScript 安全 Java
谈谈UDP、HTTP、SSL、TLS协议在java中的实际应用
下面我将详细介绍UDP、HTTP、SSL、TLS协议及其工作原理,并提供Java代码示例(由于Deno是一个基于Node.js的运行时,Java代码无法直接在Deno中运行,但可以通过理解Java示例来类比Deno中的实现)。
70 1
|
2月前
|
存储 Java 关系型数据库
java: 无法访问org.springframework.context.ConfigurableApplicationContext
`亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以及配置用处,根本不懂照抄那些配置是干啥的,稀里糊涂的按照博客搭完也跑不起来,因此记录这个。` `项目背景`:公司项目当前采用http协议+shiro+mysql的登录认证方式,而现在想支持ldap协议认证登录然后能够访问自己公司的项目网站。 `举例说明`:假设我们公司有自己的门户网站,现在我们收购了一家公司,他们数据库采用ldap存储用户数据,那么为了他们账户能登陆我们公司项目所以需要集成,而不是再把他们的账户重新在mysql再创建一遍,万一人家有1W个账户呢,不累死了且也不现实啊。
50 11
|
2月前
|
前端开发 JavaScript