首发,可以在 golang 解析 curl 啦。。。

2020-04-20 09:29:40 +08:00
 guonaihong

项目出发点

前段问过诸位 v 友,go 里面有否有库可以解析 curl,经过求证 可以同时支持 FormData 和 body 的确实没有。好吧,所以有了 pcurl,正好填充 go 的一块空白领域。

pcurl 简介

pcurl 可以把 curl 的命令解析成*http.Request,无论是标准库粉还是 gout 粉都可以使用,这里平等对待。

未来计划(诗和远方)

项目地址

https://github.com/antlabs/pcurl

快速开始

package main

import (
    "fmt"
    "github.com/antlabs/pcurl"
    "io"
    "net/http"
    "os"
)

func main() {
    req, err := pcurl.ParseAndRequest(`curl -XPOST -d '{"hello":"world"}' 127.0.0.1:1234`)
    if err != nil {
        fmt.Printf("err:%s\n", err)
        return
    }   

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        fmt.Printf("err:%s\n", err)
        return
    }   
    defer resp.Body.Close()

    io.Copy(os.Stdout, resp.Body)
}
5847 次点击
所在节点    Go 编程语言
21 条回复
misaka19000
2020-04-20 09:48:57 +08:00
资瓷
Vegetable
2020-04-20 10:02:57 +08:00
支持
Joyboo
2020-04-20 10:04:31 +08:00
X
yoshiyuki
2020-04-20 10:28:32 +08:00
前排提个小问题,multi-part 能支持吗?
xnode
2020-04-20 10:33:13 +08:00
字词
guonaihong
2020-04-20 10:36:33 +08:00
@yoshiyuki 可以,请看第三个例子。
codingAlex
2020-04-20 10:37:47 +08:00
当然要资瓷一波
debuginn
2020-04-20 10:40:25 +08:00
牛逼 支持
guonaihong
2020-04-20 13:04:36 +08:00
monkeyWie
2020-04-20 13:54:40 +08:00
资瓷 资瓷
guonaihong
2020-04-20 14:26:32 +08:00
@monkeyWie 感谢感谢。。。
zhaoyong1990
2020-04-20 14:45:17 +08:00
支持
guonaihong
2020-04-20 16:27:06 +08:00
@zhaoyong1990 感谢支持。。。
purensong
2020-04-20 16:35:37 +08:00
我不明白这么用和直接发 get post 有啥好处
guonaihong
2020-04-20 16:57:32 +08:00
@purensong 直接 get post 是推荐的用法,有 curl 命令资产才推荐用 pcurl,现在明白了吧。
dbskcnc
2020-04-20 17:03:50 +08:00
不错, 这样调用网上的 rest api 方便多了,直接复制过来就能基本能用
guonaihong
2020-04-20 18:13:24 +08:00
@dbskcnc 感谢支持。。。
aheadlead
2020-04-20 18:14:15 +08:00
好评 楼主怎么想到的。。。。
chenyi
2020-04-20 18:39:35 +08:00
资瓷一哈
guonaihong
2020-04-20 19:05:57 +08:00
@chenyi 感谢支持。。。

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

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

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

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

© 2021 V2EX