Github每日精选(第95期):WebSockets 的命令行客户端websocat

websocat WebSockets 的命令行客户端,例如 ws:// netcat(或 curl),具有类似 socat 的高级功能。
在这里插入图片描述

我们在调试WebSockets 的时候,能够轻松的像是在调试http一样。

安装

有多种安装 WebSocat 的选项。

  • 如果您使用的是 Fedora,则可以从Copr安装 WebSocat :sudo dnf copr enable atim/websocat -y && sudo dnf install websocat

  • 如果您使用的是 FreeBSD,则可以使用以下命令安装 WebSocat:pkg install websocat

  • 如果您使用的是 macOS,则可以执行以下操作:brew install websocat

使用

连接到公共回显服务器
$ websocat ws://ws.vi-server.org/mirror
123
123
ABC
ABC
服务和连接
A$ websocat -s 1234
Listening on ws://127.0.0.1:1234/
ABC
123

B$ websocat ws://127.0.0.1:1234/
ABC
123
使用远程调试在 Chromium 中打开一个选项卡。
$ chromium --remote-debugging-port=9222&
$ curl -sg http://127.0.0.1:9222/json/new | grep webSocketDebuggerUrl | cut -d'"' -f4 | head -1
ws://127.0.0.1:9222/devtools/page/A331E56CCB8615EB4FCB720425A82259
$ echo 'Page.navigate {"url":"https://example.com"}' | websocat -n1 --jsonrpc --jsonrpc-omit-jsonrpc ws://127.0.0.1:9222/devtools/page/A331E56CCB8615EB4FCB720425A82259
{"id":2,"result":{"frameId":"A331E56CCB8615EB4FCB720425A82259","loaderId":"EF5AAD19F2F8BB27FAF55F94FFB27DF9"}}
代理 TCP 连接到 WebSocket 连接并返回。
$ websocat --oneshot -b ws-l:127.0.0.1:1234 tcp:127.0.0.1:22&
$ websocat --oneshot -b tcp-l:127.0.0.1:1236 ws://127.0.0.1:1234/&
$ nc 127.0.0.1 1236
SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u3
qwertyu
Protocol mismatch.
在连接的 WebSocket 客户端之间广播所有消息
A$ websocat -t ws-l:127.0.0.1:1234 broadcast:mirror:
B$ websocat ws://127.0.0.1:1234
C$ websocat ws://127.0.0.1:1234
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于出现 "Permission denied (publickey)" 错误的情况,通常是由于 SSH 密钥配置问题引起的。以下是一些可能的解决办法: 1. 确保已经生成了 SSH 密钥对:在命令行中运行 `ls -al ~/.ssh`,如果存在 `id_rsa` 和 `id_rsa.pub` 文件,则表示已经生成了密钥对。如果不存在,请执行下一步。 2. 生成 SSH 密钥对:在命令行中运行 `ssh-keygen -t rsa -b 4096 -C "your_email@example.com"`,其中 "your_email@example.com" 替换为你的邮箱地址。随后,按照提示完成密钥对的生成过程。 3. 将公钥添加到你的 Git 托管平台账户:复制公钥内容(一般为 `id_rsa.pub` 文件中的内容),登录到你的 Git 托管平台账户,找到 SSH 密钥设置页面,将公钥内容粘贴到相应位置,并保存。 4. 验证 SSH 连接:在命令行中运行 `ssh -T git@github.com` 或 `ssh -T git@git.coding.net`,根据你使用的平台选择相应的命令。如果出现成功连接的提示信息,则说明 SSH 连接已经配置成功。 如果上述方法无法解决问题,你可以尝试以下进一步操作: - 检查 SSH 配置文件:打开 `~/.ssh/config` 文件,确保其中没有针对该 Git 托管平台的特殊配置。 - 检查远程仓库 URL:使用 `git remote -v` 命令查看远程仓库的 URL 是否正确,如果不正确,可以使用 `git remote set-url origin <新的远程仓库 URL>` 命令修改。 - 检查访问权限:确保你有访问远程仓库的权限,尤其是在团队协作项目中。 如果问题仍然存在,你可以尝试搜索相关错误信息,或者联系 Git 托管平台的支持团队以获取帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

go2coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值