在学习 golang 的时候,写了一个 http 小工具,类似 python 的 requests。
项目地址: https://github.com/xuanbo/requests
希望大家可以多多支持,谢谢各位道友。
项目地址: https://github.com/xuanbo/requests
希望大家可以多多支持,谢谢各位道友。
|
gowkApr 21, 2019
1
支持一波。代码写的不错:)
|
|
uasierApr 21, 2019 via Android
2
支持
|
|
jinliming2Apr 21, 2019 via iPhone
3
支持
请求方法还有 PATCH HEAD OPTION 之类的建议加一下 |
|
5
@jinliming2 嗯嗯,谢谢建议哈。主要平时就主要用 GET、POST、PUT、DELETE ; PATCH、HEAD、OPTION 不咋用,我后面加上
|
|
kidljApr 21, 2019
7
很干净。喜欢了。
|
|
inframeApr 21, 2019 via Android
8
终于有人造这个轮子了.(:滑稽
|
|
9
插播一个正在用的
parnurzeal/gorequest: GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent ) https://github.com/parnurzeal/gorequest |
|
abel1989Apr 21, 2019
10
写的不错。。。。
|
|
AllianzcortexApr 22, 2019 via iPhone
15
简洁漂亮
|
|
abel1989Apr 22, 2019
16
不能 push 代码上去......
|
|
abel1989Apr 22, 2019
17
// 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) } |
|
xkeyidealApr 22, 2019
19
这种东西等项目需要深度使用的时候,会发现目前没有一个第三方库能胜任的,还是需要自己写
1、重试 2、超时 3、keep-alive 只能说坑很多 |
|
20
@xkeyideal 这个有重试,超时,更完善: https://github.com/parnurzeal/gorequest
|
|
21
如果大家想使用超时、KeepAlive 等功能,可以自定义 Client、Transport 替换 http 包 DefaultClient、DefaultTransport。
func customHttp() { client := &http.Client{ Transport: &Transport Timeout: 5 * time.Second, } text, err := requests.Request("https://github.com/xuanbo", "OPTIONS", client). Send(). Text() if err != nil { panic(err) } fmt.Println(text) } |
|
insert000Apr 22, 2019
23
请问可以直接拿楼主的代码 嵌入到自己的项目中么?
|