requests for golang

2019-04-21 12:15:33 +08:00
 xinQing
在学习 golang 的时候,写了一个 http 小工具,类似 python 的 requests。

项目地址: https://github.com/xuanbo/requests

希望大家可以多多支持,谢谢各位道友。
4386 次点击
所在节点    Go 编程语言
24 条回复
gowk
2019-04-21 15:37:58 +08:00
支持一波。代码写的不错:)
uasier
2019-04-21 15:52:09 +08:00
支持
jinliming2
2019-04-21 16:45:50 +08:00
支持
请求方法还有 PATCH HEAD OPTION 之类的建议加一下
xinQing
2019-04-21 16:52:01 +08:00
@gowk 谢谢哈
xinQing
2019-04-21 16:53:21 +08:00
@jinliming2 嗯嗯,谢谢建议哈。主要平时就主要用 GET、POST、PUT、DELETE ; PATCH、HEAD、OPTION 不咋用,我后面加上
xinQing
2019-04-21 16:53:35 +08:00
@uasier 嘻嘻,3q
kidlj
2019-04-21 18:01:09 +08:00
很干净。喜欢了。
inframe
2019-04-21 18:02:03 +08:00
终于有人造这个轮子了.(:滑稽
newmind
2019-04-21 18:24:11 +08:00
插播一个正在用的
parnurzeal/gorequest: GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent )
https://github.com/parnurzeal/gorequest
abel1989
2019-04-21 20:05:39 +08:00
写的不错。。。。
xinQing
2019-04-22 09:14:02 +08:00
@kidlj 只用了标准库,源码也才 200 行,比较适合初学者,有问题也可以自己改~
xinQing
2019-04-22 09:14:52 +08:00
@inframe 哈哈
xinQing
2019-04-22 09:15:16 +08:00
@abel1989 谢谢支持: )
xinQing
2019-04-22 10:31:08 +08:00
@newmind parnurzeal/gorequest 这给功能更强大,而且维护的人多,生产用比较放心:)
Allianzcortex
2019-04-22 11:05:30 +08:00
简洁漂亮
abel1989
2019-04-22 11:16:03 +08:00
不能 push 代码上去......
abel1989
2019-04-22 11:16:55 +08:00
// default client
var defaultClient = Client{}

func (c *Client) Get(url string) *Client {
c.url = url
c.method = http.MethodGet
return c
}

func (c *Client) Post(url string) *Client {
c.url = url
c.method = http.MethodPost
return c
}

func (c *Client) Put(url string) *Client {
c.url = url
c.method = http.MethodPut
return c
}

func (c *Client) Delete(url string) *Client {
c.url = url
c.method = http.MethodDelete
return c
}

// Get: http `GET` 请求
func Get(url string) *Client {
return defaultClient.Get(url)
}

// Post: http `POST` 请求
func Post(url string) *Client {
return defaultClient.Post(url)
}

// Put: http `PUT` 请求
func Put(url string) *Client {
return defaultClient.Put(url)
}

// Delete: http `DELETE` 请求
func Delete(url string) *Client {
return defaultClient.Delete(url)
}
xinQing
2019-04-22 11:58:26 +08:00
@abel1989 你要 fork 代码之后,然后提交一个 pull request,我这边再合并过去哈
xkeyideal
2019-04-22 13:55:15 +08:00
这种东西等项目需要深度使用的时候,会发现目前没有一个第三方库能胜任的,还是需要自己写

1、重试
2、超时
3、keep-alive

只能说坑很多
xinQing
2019-04-22 14:19:02 +08:00
@xkeyideal 这个有重试,超时,更完善: https://github.com/parnurzeal/gorequest

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

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

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

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

© 2021 V2EX