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


相关文章
Curl访问Kerberos SPNEGO保护的HTTP资源
最后,记住,虽然Kerberos的魔法强大且久经考验,但它仍需你谨慎掌握。SPNEGO的舞步看似复杂,但一旦跳起来,你会发现自己在安全和便捷的旋律中翩翩起舞。而Curl,这一灵活敏捷的小工具,它的确有能力成为你施展这些魔法的得力助手。
42 14
C语言结合AWTK开发HTTP接口访问界面
这样,我们就实现了在C语言中使用libcurl和AWTK来访问HTTP接口并在界面上显示结果。这只是一个基础的示例,你可以根据需要添加更多的功能和优化。例如,你可以添加错误处理机制、支持更多HTTP方法(如POST、PUT等)、优化用户界面等。
291 82
java之通过Http下载文件
本文介绍了使用Java实现通过文件链接下载文件到本地的方法,主要涉及URL、HttpURLConnection及输入输出流的操作。
通过Infortress 端口穿透功能访问内网电脑部署的HTTP服务
在远程办公或跨地域协作中,访问内网HTTP服务是技术工程师的常见需求。借助Infortress的端口穿透功能,无需复杂配置即可实现外网访问。本文以Mac电脑为例,通过Python搭建简单HTTP服务,并使用Infortress完成端口穿透配置。具体步骤包括检查Python版本、启动HTTP服务、安装并配置Infortress客户端、获取代理信息及测试外网访问。同时提醒注意安全性与网络稳定性,确保端口合理设置和及时关闭。Infortress简化了内网穿透流程,适合开发者与IT管理员高效协作。
|
2月前
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
112 26
Node学习笔记:HTTP模块
总的来说,Node.js的HTTP模块是一个强大的工具,可以帮助你处理HTTP协议的各种需求。无论你是想开设自己的餐厅(创建服务器),还是想去别的餐厅点菜(发出请求),HTTP模块都能满足你的需求。
79 18
只有IP地址没有域名,如何实现HTTPS访问?
在仅有IP地址而无域名的情况下,实现HTTPS访问并非不可能。主要挑战包括证书颁发机构(CA)对IP地址的支持有限及浏览器兼容性问题。解决方案有:1) 搭建私有CA为内部IP地址颁发证书;2) 使用支持IP地址的公共CA服务。选择合适的方案需根据需求权衡。具体步骤包括选择证书类型、生成CSR文件、提交并完成验证、安装SSL证书和配置强制HTTPS访问。确保IP地址稳定,并定期维护安全性。 **申请优惠**:访问JoySSL官网并填写注册码“230907”可优惠申请IP地址证书。
592 5
Java对象创建和访问
Java对象创建过程包括类加载检查、内存分配(指针碰撞或空闲列表)、内存初始化、对象头设置及初始化方法执行。访问方式有句柄和直接指针两种,前者稳定但需额外定位,后者速度快。对象创建涉及并发安全、垃圾回收等机制。
Java对象创建和访问
|
5月前
探寻HTTP代理IP访问站点失败的背后因素
随着互联网发展,使用HTTP动态代理IP的人越来越多。但有时使用代理后仍无法访问站点,原因包括:1. IP失效;2. 网络质量差;3. 浏览器或程序设置错误;4. 需尝试其他代理商;5. 联系网站管理员;6. 不符合目标站点规范。选择高质量的代理服务商可提升访问成功率。
101 2
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问