socke5 使用curl 测试_命令行测试WebSocket

news/2024/7/8 13:33:57

使用命令测试WebSocket

Linux环境下,分别使用curl和wscat命令测试websocket连接。

前言

有时候我们需要从后台验证WebSocket连接是否正常,判断防火墙是否开通,反向代理是否配置正确等。我一般用下面两种方式进行快速简单的测试。

一、使用wscat测试WebSocket连接是否正常

wscat是一个用来连接websocket的命令行工具,nodejs开发的。

故需要先使用npm安装,然后执行一下即可:

npm install -g wscat

wscat -c ws://echo.websocket.org

正常情况下输出如下:

connected (press CTRL+C to quit)

二、使用curl测试WebSocket连接是否正常

curl-websocket.sh

curl --include \

--no-buffer \

--header "Connection: Upgrade" \

--header "Upgrade: websocket" \

--header "Host: echo.websocket.org" \

--header "Origin: https://echo.websocket.org" \

--header "Sec-WebSocket-Key: NVwjmQUcWCenfWu98asDmg==" \

--header "Sec-WebSocket-Version: 13" \

http://echo.websocket.org

注意这里不需要特定的密钥(Sec-WebSocket-Key),所以随便取一个都可以。该头文件的作用是防止缓存websocket请求。

正常情况下输出如下:

HTTP/1.1 101 Web Socket Protocol Handshake

Access-Control-Allow-Credentials: true

Access-Control-Allow-Headers: content-type

Access-Control-Allow-Headers: authorization

Access-Control-Allow-Headers: x-websocket-extensions

Access-Control-Allow-Headers: x-websocket-version

Access-Control-Allow-Headers: x-websocket-protocol

Access-Control-Allow-Origin: https://echo.websocket.org

Connection: Upgrade

Date: Tue, 09 Apr 2019 09:57:52 GMT

Sec-WebSocket-Accept: oPhRcOTYgRvrC0D+cTPcN3XYC1k=

Server: Kaazing Gateway

Upgrade: websocket


http://www.niftyadmin.cn/n/3156036.html

相关文章

场景下开发-$http服务封装

$http服务封装 .factory(htp,function(){// htp.runServiceWithSession() // htp.runService() // htp.runService($http, $ionicLoading, "member.register", // $scope.user, function(data, status){}// 错误处理 函数function callErrorF…

IDEA设置默认Maven

idea设置默认maven配置, 避免每次设置maven Step 1:Other Setting--->Default Settings--->设置maven--->Apply--->OK

JS控制div跳转到指定的位置的几种解决方案总结

原文:http://www.jb51.net/article/96574.htm 这篇文章主要介绍了JS控制div跳转到指定的位置的几种解决方案总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。 总结一下自己在写这个需求遇到的问题,相信大家应…

localdate判断为null_Java8之使用Optional进行Null处理

Optional类这是Java 8新增的一个类,用以解决程序中常见的NullPointerException异常问题,本篇文章将详细介绍Optional类,以及如何用它消除代码中的null检查。1.创建optional对象empty() 方法用于创建一个没有值的Optional对象:Opti…

netfilter 结构整理

(Linux network) netfilter struct 整理 结构体关系图 阐述了结构体之间的关联xt_table 在net->netns_ipv4结构体中,包含了如下几个xt_tableiptable_filteriptable_mangleiptable_rawarptable_filternat_filterstruct xt_table {struct list_head list;//xt_tabl…

图片空间-网盘

就是酱紫的一个东西,类似于一个网盘,只不过它仅仅用于存储图片。 完成的初级效果图。这里的ztree我用的是metro的那个,但是并未引用他的js,同时也带来一些css样式问题:1、叶子图标我要显示为文件夹图标, 2、…

绿盟科技网络安全威胁周报2017.01 请关注MatrixSSL堆缓冲区溢出漏洞CVE-2016-6890

绿盟科技发布了本周安全通告,周报编号NSFOCUS-16-39,绿盟科技漏洞库本周新增30条,其中高危9条。本次周报建议大家关注 MatrixSSL 堆缓冲区溢出漏洞 ,目前,此漏洞已经公布了一段时间并且官方已经进行了修复,…

python迭代器有什么好处_浅析Python迭代器的高级用法

跳过开头首先是跳过开始部分,这个在我们读取文本的时候最常用。在实际的应用当中,比如记录的日志或者是代码等等,一般来说头部都会附上一段说明,或者用注释标注或者是用特殊的符号标记。这些信息是给用到数据的程序员看的&#xf…