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


相关文章
|
19天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
|
15天前
|
安全 网络协议 应用服务中间件
内网ip申请SSL证书实现https访问
内网IP地址虽不能直接申请公网SSL证书,但可通过IP SSL证书保障数据安全。流程包括:确定固定内网IP,选择支持内网IP的CA,注册申请证书,生成CSR,验证IP所有权,下载部署证书至Web服务器,测试HTTPS访问,确保配置正确及证书有效。此方法适用于内网环境,提升数据传输安全性。
内网ip申请SSL证书实现https访问
|
24天前
|
Web App开发 算法 应用服务中间件
nginx开启局域网https访问
【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。
|
27天前
|
安全 网络安全 数据安全/隐私保护
政务内网实现https访问教程
政务内网实现HTTPS访问需经过多个步骤:了解HTTPS原理,选择并申请适合的SSL证书,配置SSL证书至服务器,设置端口映射与访问控制,测试验证HTTPS访问功能,注意证书安全性和兼容性,定期备份与恢复。这些措施确保了数据传输的安全性,提升了政务服务的效率与安全性。
|
23天前
|
安全 网络安全 数据安全/隐私保护
内网IP地址实现HTTPS加密访问教程
在内网环境中,为确保数据传输的安全性,绑定SSL证书搭建HTTPS服务器至关重要。本文介绍了内网IP地址的前期准备、申请SSL证书的步骤以及客户端配置方法。具体包括选择合适的CA、注册账号、提交申请、下载证书,并在客户端导入根证书,确保通信数据的安全加密。推荐使用JoySSL提供的技术解决方案,确保内网设备通信安全。
内网IP地址实现HTTPS加密访问教程
|
29天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
44 3
|
1月前
|
SQL Java 数据库连接
打破瓶颈:利用Java连接池技术提升数据库访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,避免了频繁的连接建立和断开,显著提升了数据库访问效率。常见的连接池库包括HikariCP、C3P0和DBCP,它们提供了丰富的配置选项和强大的功能,帮助优化应用性能。
51 2
|
2月前
|
Java
Java访问外网图片地址时,如何添加代理?
【10月更文挑战第14天】Java访问外网图片地址时,如何添加代理?
32 2
|
2月前
|
JSON Java fastjson
Java Http 接口对接太繁琐?试试 UniHttp 框架吧
UniHttp 是一个声明式的 HTTP 接口对接框架,旨在简化第三方 HTTP 接口的调用过程。通过注解配置,开发者可以像调用本地方法一样发起 HTTP 请求,无需关注请求的构建和响应处理细节。框架支持多种请求方式和参数类型,提供灵活的生命周期钩子以满足复杂的对接需求,适用于企业级项目的快速开发和维护。GitHub 地址:[UniAPI](https://github.com/burukeYou/UniAPI)。
|
2月前
|
小程序 Java
小程序访问java后台失败解决方案
小程序访问java后台失败解决方案
47 2