浏览器里“运行”curl

2022-02-01 15:54:23 +08:00
 0o0O0o0O0o
本意是想做个像 curlconverter 的东西,即可以依照 curl 命令生成不同语言 /库的代码。不过没有找到过好用的,支持的选项很少,也不方便扩展。

我觉得主要还是因为 curl 的 options 太多太复杂,自己实现着实很累啊,我想,为什么不直接用 curl 来改呢?但由于我希望这类工具是作为一个网页或者 vscode 插件的形式,于是我想到了 wasm 。

于是大年三十找了找 wasm 资料,让 curl 在浏览器中跑了起来,当然,把请求部分删掉了,只保留了命令行解析的功能。

实现了一个粗糙的版本,还有很多待完善的,欢迎 pr 。

https://imgur.com/I2DpVlq

链接

Y3VybC5wcml2YWN5aGlkZS5jb20=
4495 次点击
所在节点    分享创造
16 条回复
7gugu
2022-02-01 16:35:41 +08:00
cooooool
loading
2022-02-01 16:40:11 +08:00
有点意思
loveqianool
2022-02-01 17:02:02 +08:00
链接怎么打不开呀
0o0O0o0O0o
2022-02-01 17:07:13 +08:00
@loveqianool 要 base64 decode 一下
renmu123
2022-02-01 17:16:02 +08:00
可以提交 pr 到 postwoman
billzhuang
2022-02-01 17:45:18 +08:00
Postwoman 和 Hoppscotch 是一个么?
skydiver
2022-02-01 17:46:20 +08:00
可以 import 到 postman ,然后再 copy 成别的命令
renmu123
2022-02-01 18:07:08 +08:00
@billzhuang 一个,改名之后太难记了
0o0O0o0O0o
2022-02-01 18:10:37 +08:00
@renmu123 #8 是真的难记,我每次用依然是 postwoman.io 然后等跳转
ilylx2008
2022-02-01 19:30:46 +08:00
postman 可以生成不同语言的代码
0o0O0o0O0o
2022-02-01 19:46:24 +08:00
@skydiver #7
@ilylx2008 #10

没有用过 postman ,不过用过一些同类工具,基本都有这个毛病

> 支持的选项很少,也不方便扩展

我主要是想针对复杂一点的命令,例如--http2 --resolve 这类选项
3dwelcome
2022-02-01 21:02:45 +08:00
问题是 curl 没实际运行啊,就分析了个命令行参数。
0o0O0o0O0o
2022-02-01 21:10:54 +08:00
@3dwelcome 因为我只需要这些,所以修改了 curl/src/tool_*.c ,解析完就 return 了,后续部分对于 curl.wasm 来说其实也是可以执行的,只是会执行失败。GitHub 上也能搜到一些资料,WASI issue#107 ,意思大概是目前 wasm 规范还不足以支持。
0o0O0o0O0o
2022-02-01 21:26:20 +08:00
@0o0O0o0O0o #13 如果你是指 curl 的 main ,控制台 callMain 就可以了
zqx
2022-02-02 09:26:26 +08:00
f12 network 右键点击请求有个 copy 选项,可以把网页请求导出为 curl 格式
kunkunzhang
2022-02-06 18:01:41 +08:00
wasm 真的好玩!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/831597

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX