|  |      1gowk      2019-04-21 15:37:58 +08:00 支持一波。代码写的不错:) | 
|  |      2uasier      2019-04-21 15:52:09 +08:00 via Android 支持 | 
|      3jinliming2      2019-04-21 16:45:50 +08:00 via iPhone 支持 请求方法还有 PATCH HEAD OPTION 之类的建议加一下 | 
|      5xinQing OP @jinliming2 嗯嗯,谢谢建议哈。主要平时就主要用 GET、POST、PUT、DELETE ; PATCH、HEAD、OPTION 不咋用,我后面加上 | 
|  |      7kidlj      2019-04-21 18:01:09 +08:00 很干净。喜欢了。 | 
|  |      8inframe      2019-04-21 18:02:03 +08:00 via Android 终于有人造这个轮子了.(:滑稽 | 
|      9newmind      2019-04-21 18:24:11 +08:00  1 插播一个正在用的 parnurzeal/gorequest: GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent ) https://github.com/parnurzeal/gorequest | 
|      10abel1989      2019-04-21 20:05:39 +08:00 写的不错。。。。 | 
|  |      15Allianzcortex      2019-04-22 11:05:30 +08:00 via iPhone 简洁漂亮 | 
|      16abel1989      2019-04-22 11:16:03 +08:00 不能 push 代码上去...... | 
|      17abel1989      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) } | 
|  |      19xkeyideal      2019-04-22 13:55:15 +08:00 这种东西等项目需要深度使用的时候,会发现目前没有一个第三方库能胜任的,还是需要自己写 1、重试 2、超时 3、keep-alive 只能说坑很多 | 
|      20xinQing OP @xkeyideal 这个有重试,超时,更完善: https://github.com/parnurzeal/gorequest | 
|      21xinQing OP 如果大家想使用超时、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) } | 
|  |      23insert000      2019-04-22 15:15:32 +08:00 请问可以直接拿楼主的代码  嵌入到自己的项目中么? |