在线词典和SOCKS5代理实现
1、第一步是抓包
找一个在线词典,一般使用现在主流的词典软件,比如彩云小译或者网易的翻译等等。
(1)我们先打开翻译软件,先找到我们需要的API,输入自己想知道的翻译,然后点击检查。
(2)会出现一个框,在上方的选择栏中找到Network,我点击翻译的按钮后,浏览器会发送请求,在name、status、initiator、size、time、waterfall的行列中我们能很清晰的找到用来查询单词的请求。
(3)在name这一列中找到名为dict,然后在headers中找到post,请求的header相当复杂,点开在headers旁边的preview,里面发现一些代码,接下来我们将name中的dict选择复制copy all as cURL(cmd)。
2、生成代码
代码构造较为麻烦,可以到curlconverter.com/go/ 这个网站,选择Go选项来生成代码。
3、生成解析
RequestBody的基础知识介绍:
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
4、SOCKS5代理
简介: SOCKS(Socket Secure)是一种网络协议,在用于客户端和服务器之间建立代理连接,它可以通过代理服务器转发网络流量,提供一些重要的功能和特性。
连接支持:SOCKS5 代理可以支持多种网络协议,包括 HTTP、HTTPS、FTP、SMTP 等,不仅限于特定协议。
认证选项:SOCKS5 具有认证功能,可以要求客户端提供用户名和密码进行身份验证,从而增加安全性。
防火墙穿透:使用 SOCKS5 代理可以绕过防火墙限制,访问被封锁或受限制的网站和服务。
UDP 支持:与 SOCKS4 相比,SOCKS5UDP流量的代理转发,可以用于某些应用程序依赖于 UDP 的情况。
加密选项:尽管 SOCKS5 本身不提供加密功能,但可以通过与其他安全协议(如 TLS)结合使用,以实现加密传输。
握手阶段
浏览器会向SOCKS5代理发送版本号、认证方法、方式列表等等请求。 SOCKS5服务器收到浏览器法的发送后开始响应握手请求并且选择一种认证方法进行认证,最后握手阶段完成。
认证阶段
在服务器中如需认证,客户端和代理服务器会进行认证以便查验客户端的身份。 常见的认证方式包括无认证、用户名密码认证等。
账户密码认证客户端发送
VERSION 认证子协商版本
USERNAME_LENGTH 用户名长度
USERNAME 用户名字节数组 (长度为USERNAME_LENGTH)
PASSWORD_LENGTH 密码长度
PASSWORD 密码字节数组 (长度为PASSWORD_LENGTH)
服务器验证
VERSION为认证子协商版本STATUS则为认证结果
如出现0x00认证成功
出现大于0x00则认证失败
请求阶段
通过验证以后浏览器会在SOCKS5服务器发起代理请求,代理服务器收到响应和后端服务器建立联系,然后返回。
relay阶段
浏览器会正常发送请求,然后代理服务器收到请求后,会把请求转换到正式的服务器,正式的服务器返回响应也会把请求转发到浏览器内。