Java网络编程
文章平均质量分 88
CrazyDragon_King
纸上得来终觉浅,绝知此事要躬行。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HTTP协议实现视频效果
前言: 前端时间给树莓派配了一个摄像头,然后玩了一下motion,感觉是一个很有意思的东西。特别是它实现视频监控的方式,感觉很有趣,前端访问的只是一个静态的图片,但是用户看到的是一个连续的监控画面,并且页面显示一直在加载中,也是很让人好奇。后来经过探究,发现了原来它是通过不停的返回连续的图片数据,浏览器不停加载不同的图片,给人一种视频的感觉。这是一个很有趣的知识点,所以就准备和大家分享一下吧。HTTP首部的秘密先来一睹为快吧,这是当时获取的motion的HTTP响应报文的报头数据。HTTP/1.0 2原创 2021-05-30 00:14:24 · 2893 阅读 · 3 评论 -
内网穿透实现基于树莓派的网络摄像头
前言: 上一篇博客已经提到了我自己买了一个树莓派摄像头,搭建了一个局域网监控系统。但是这个东西不能在外网访问的话,它是实际应用价值就很低了。因为当时选择的钉钉内网穿透方式不能使用(指令集不兼容),所以我就暂时放弃了,转而思考了使用自己的网络编程知识来模拟实现一下内网穿透的效果。然后,我的同学给我提出了建议,要是可以使用流媒体就更好了(实际上我也不会流媒体,不过我倒是有一点兴趣)。我于是在当时的代码基础上,又进行了改进,专门针对motion实现的局域网监控方式,重新写了一个代码,希望可以实现外网访问motio原创 2021-05-19 02:03:41 · 1327 阅读 · 0 评论 -
黑盒方式模拟实现内网穿透
前言:最近准备使用树莓派搭建一个内网监控系统,然后在外网访问。因此选择了钉钉内网穿透的方式,因为这种方式最为简单,但是由于树莓派的架构是ARM指令集,所以无法运行成功,钉钉内网穿透只能在我的X86笔记本上面运行了。但是我倒是对内网穿透这个概念特别感兴趣了,所以就想着能不能利用自己所学习的知识,自己来模拟实现一个内网穿透工具。1. 内网穿透简介从黑盒的角度理解: 通常个人电脑无论是连接WIFI上网还是用网线上网,都是属于局域网里边的,外网无法直接访问到你的电脑,内网穿透可以让你的局域网中的电脑实现外网访原创 2021-05-12 16:48:04 · 812 阅读 · 3 评论 -
(1)从服务器下载文件
前言最近发现我自己运行在阿里云服务器上面的一个小服务,无法正常访问了。通过浏览器访问或者postman就是一直处于发送请求的状态,但是不会报超时也不会停止。所以,我就想把日志文件nohup.out拿下来查看一下,因为在服务器上面查看很不方便。但是,我由于对于Linux的了解还是不够,居然不知道怎么把文件下载到本地。我以前只用过scp向服务器上传文件,但是下载文件我是真的没有搞过。后来发现反过来用scp就行了,但是当局者迷,旁观者清,当时不知怎么的,就没反应过来!需求但是我是一定要看看这个日志的,所以我原创 2021-01-30 02:15:40 · 1827 阅读 · 2 评论 -
网络分层之TCP和HTTP
这里是一个B站的视频:计算机网络是分层的,URL的简单介绍URL即统一资源定位符,它是一个由多部分组成的字符串,最多可以有9部分组成。但是有些部分是很少见的,这里我们就只需要知道最常见的几部分就行了。这里以一个具体的图片的url访问为例来介绍网络的分层的概念:安徽师范大学的图标(https://www.ahnu.edu.cn/images/xiaobiao/201909160850436754JR.png)按照从前往后的顺序:protocol 协议:httpshost 主机:www.ahnu原创 2021-01-04 17:04:13 · 728 阅读 · 6 评论 -
WebSocket入门介绍及编程实战
前言:最近看了几天的WebSocket,从以前的只闻其名,到现在也算是有一点点的了解了。所以就准备用博客记录一下自己的学习过程,希望也能帮助其它学习的人,因为我本人学习的过程中也是参考了很多其它人的博文。 这里主要是想了解一下WebSocket传输的协议帧,并使用java来模拟一个WebSocket客户端向服务端发送、接收数据。注:对于网络协议的学习,通过自己编程实现一些简单的功能是一种很有效的方式。例如使用Socket去下载网络图片或者访问接口等,你会遇到很多问题,解决它们之后,也会收获很多东西!We原创 2021-01-01 15:35:42 · 7317 阅读 · 3 评论 -
Java爬虫批量爬取图片
Java爬取妹子图片(2020年3月)现在开始学习爬虫,发现大多数人的入门程序多是爬取美女图片,感觉这似乎是一个传统,所以我也就来继续这个传统吧。这是学习技术的,不是下载图片的! 因为我是Java方向的,所以我就使用Java来写这个小爬虫程序了。目标网址:妹子图使用技术:Java基础知识、HttpClient 4.x 、Jsoup爬取目标:获取几张图片。爬取思路对于这种图片的获取,...原创 2020-12-25 22:53:16 · 6511 阅读 · 8 评论 -
利用纯真ip库搭建ip查询服务
前言: 前段时间听过了纯真ip数据库,只知道是一个qqwry.dat文件,里面有一些网友收集的数据,可以用来查询ip的大致位置,即ip定位。正好,我最近在一个项目里面看到了这个数据库,它就是将qqwry.dat集成到springboot项目里面,做成一个查询服务来使用的。所以,我也想来试试,但是我不是直接使用qqwry.dat这个文件。我换一种方式,我才用将qqwry.dat中的ip数据导入mysql数据库中,通过数据库的查询来提供ip位置查询功能。gitee代码地址: 纯真ip库服务搭建数据准备首先原创 2020-12-10 00:53:22 · 5415 阅读 · 9 评论 -
百度翻译api和SpringBoot集成
前言 因为最近经常使用百度翻译,点击去了好几次它的那个翻译api介绍页面,居然还有免费版本的,那咱不得体验体验嘛!百度在这点上做得就挺好的,其它的同类翻译api,我似乎没有看见对个人免费的(虽然有限制吧,当时总归是满足可用性的。)这里我就是把百度翻译的api集成到SpringBoot中,作为一个翻译服务来提供。注:这里吐槽一下,官方提供的Java代码示例,似乎无法编译通过!因为有一句代码:byte[] inputByteArray = input.getBytes("UTF-8");这里这个方法会抛原创 2020-12-03 00:17:25 · 2589 阅读 · 8 评论 -
基于SpringBoot的简易图片廊langdemo
前言 最近在学习SpringBoot,发现了很多有趣的知识。学习上面也有了新的理解,例如在SpringBoot中简单的文件上传和下载其实都已经很简单了,没必要像以前Servlet中那么复杂了,但是很多教程还在使用原来那些古老的api来处理(HttpServletRequest、HttpServletResponse或其之类),就显得有些不合时宜了。这里我准备了一个简单的图片廊demo,用来演示文件的上传和下载这一块,它的功能很简单,基本没有什么实际使用价值,但是作为一个小玩具来练手还是很好的。声明: 我原创 2020-12-01 22:54:34 · 560 阅读 · 10 评论 -
SpringBoot前后端分离参数传递方式总结
因为总是需要使用不同的参数传递方式,所以特地来总结一下SpringBoot中常用的传递参数的方式。SpringBoot参数传递注意:虽然Restful风格很流行,但是大部分还是主要是GET和POST的内容,所以这里只是列举GET和POST请求为例。GET请求方式01.单个键值对参数/** * GET 方式传递参数 单个参数 * */@GetMapping("/get01")public String get01(String comment) { return comment == n原创 2020-11-26 21:39:50 · 15388 阅读 · 14 评论 -
Java网络编程之爬虫——计算机网络、应用层协议的综合应用
前言:前几天在B站上面,看到了一个使用C/C++实现的网络爬虫,我没有看视频,只是看了评论,这位up主应该就是只使用语言本身提供的包实现的爬虫。但是,我对这种方式很有兴趣,所以我就来实现一个Java版本的,正好也是综合运用自己学习的知识。具体效果:注意:爬取过程中,出现了几个time out,但是也不影响整个爬虫的工作(出现异常的图片,可能会损坏,但是几百张失败一两次还是可以接受的),所以这里也就不处理它了,我测试了一下,把超时时间调高一点,并且当前网络通畅的话,也就不会遇到这个问题了。推荐阅读原创 2020-10-25 01:14:05 · 1142 阅读 · 6 评论 -
WebMagic官方文档
前言:因为学习需要,有时候需要查看WebMagic的官方的文档,但是官方的文档是搭建在GitBook上面的,它的服务器在国外,有时候访问不是太顺畅,因此萌生了把GitBook上面的网页保存到本地的想法,这样就可以离线查看了文档了,不用受制于网络的问题。思路思路:我大致查看了gitbook上面的网页结构,左右是目录,右边是内容,这种方式阅读确实是挺方便的。然后抓取的思路也就是首先一次性把左右所有目录的url加入调度队列,然后依次下载每一页的html,然后将html转成markdown文本的形式。文档原创 2020-10-10 22:59:05 · 1871 阅读 · 2 评论 -
java仿前端开发工具HBuilder
前言最近在看一些前端的知识,但是只是看了一些标签的用法,真正到了使用的时候,却又写不出来,学习的效率很低,但是我也发现了一个有意思的点,当我在HBuilder中启动项目时,我就可以在浏览器中访问它了——这说明HBuilder本身启动了一个静态web服务器。所以,本着对这个的兴趣,我准备来自己模仿实现一个简单的HBuilder——这里只是实现可以在浏览器中访问这个特性。浏览器实现效果demo的目录结构说明:src目录下面是模拟的简单静态服务器的代码,然后提供了一个404.html页面,下面的re原创 2020-09-14 22:35:25 · 970 阅读 · 1 评论 -
AJAX和跨域——从Java程序员的角度理解
前言:最近遇到了ajax的跨域问题,让我觉得很是棘手。跨域,对我来说是一个熟悉又陌生的问题,熟悉是因为我听过几种解决方法,陌生是因为我自己从来没有主动处理过跨域的情况。而且,我其实并不会前端知识,只是了解一个大概,所以也就没什么机会尝试。即使遇到了,也因为不会前端的知识而放弃了。不过,因为学习了计算机网络的知识、HTTP的知识、Java网络编程,我觉得我可以站在我自己的角度深入探究一下这个问题了。跨域问题所谓的域指的是当前页面所处的URL,通常包括:protocol、host/ip、端口。只要这三个有原创 2020-09-12 11:02:32 · 461 阅读 · 1 评论 -
HTTP首部——分块传输和持久连接
前言:最近写了几篇博客,讲解了几个HTTP首部,感觉自己对于知识的理解还行。现在让我们来了解以下分块传输和持久连接的概念吧。本来,我是不准备写关于持久连接的部分的,因为我都是使用socket模拟的短连接,基本用不上持久连接。但是当我使用分块传输的时候,它有一个特点。因为不适用分块连接的话,默认是有一个Content-Length首部的,但是使用了分块传输的话,就没有这个首部了。这样我的程序就很难终止了(但是也是有方法的)。所以,索性就一起都写入博客了!分块传输分块编码是属于传输编码这个范围的,不过我也原创 2020-08-17 20:56:41 · 6027 阅读 · 4 评论 -
HTTP首部——Content-Type的作用
前言对于我们习以为常的东西,却没有仔细思考它的作用。 HTTP的首部都各有个的价值,最近看到这个Content-Type,忽然让我想起来以前自己的一个小小的失误,而产生了一个bug。但是当时却搞得我焦头烂额,我在网络上查找了一圈也没有发现什么解决方案。最后,还是自己发现了写错的地方,而这个错误就是由于Content-Type所引起的。作为一名应用软件程序员,从计算机网络的角度来看,我们是工作在应用层的。所以对于应用层使用广泛的HTTP协议,还是要多了解一些。这样也有助于我们更好的理解应用,当出现我上面的这原创 2020-08-15 20:00:51 · 4393 阅读 · 0 评论 -
Http的范围请求与断点下载的原理
前言: 我最近在看**《HTTP权威指南》**,学习到了范围请求的概念。它也解开了我一直以来的疑惑,当初使用学习《疯狂Java讲义》的时候,曾经实现了书上的那个多线程下载,但是当时其实也是不太理解,只是知道对于一个网络上的文件,可以跳过前面的某一部分,然后读取另一部分。不过当时也没有学习计算机网络,确实对于这方面没有什么清晰的概念。参考博文:多线程断点复制Java多线程和IO流的应用这个对于输入流调用这个skip方法,跳过前面不需要读取的字节数,其实是很高级的用法了,至少隐藏了一些HTTP的实现细节原创 2020-08-09 15:11:43 · 869 阅读 · 0 评论
分享