Skip to content

Requests 是一个易于使用的golang HTTP库,与Python requests类似A golang HTTP client library. Salute to python requests.

License

Notifications You must be signed in to change notification settings

lorock/go-requests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

27 Commits

Repository files navigation

license

requests

Requests is an HTTP library , it is easy to use. Similar to Python requests.

Installation

go get -u github.com/asmcos/requests 

Start

package main import"github.com/asmcos/requests"funcmain (){resp,err:=requests.Get("http://go.xiulian.net.cn") iferr!=nil{return } println(resp.Text()) }

Post

package main import"github.com/asmcos/requests"funcmain (){data:= requests.Datas{"name":"requests_post_test", } resp,_:=requests.Post("https://www.httpbin.org/post",data) println(resp.Text()) }
 Server return data... 
{"args":{}, "data": "", "files":{}, "form":{"name": "requests_post_test" }, "headers":{"Accept-Encoding": "gzip", "Connection": "close", "Content-Length": "23", "Content-Type": "application/x-www-form-urlencoded", "Host": "www.httpbin.org", "User-Agent": "Go-Requests 0.5" }, "json": null, "origin": "114.242.34.110", "url": "https://www.httpbin.org/post" } 

Feature Support

  • Set headers
  • Set params
  • Multipart File Uploads
  • Sessions with Cookie Persistence
  • Proxy
  • Authentication
  • JSON
  • Chunked Requests
  • Debug
  • SetTimeout

Set header

example 1

req:=requests.Requests() resp,err:=req.Get("http://go.xiulian.net.cn",requests.Header{"Referer":"http://www.jeapedu.com"}) if (err==nil){println(resp.Text()) }

example 2

req:=requests.Requests() req.Header.Set("accept-encoding", "gzip, deflate, br") resp,_:=req.Get("http://go.xiulian.net.cn",requests.Header{"Referer":"http://www.jeapedu.com"}) println(resp.Text())

example 3

h:= requests.Header{"Referer": "http://www.jeapedu.com", "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", } resp,_:=req.Get("http://go.xiulian.net.cn",h) h2:= requests.Header{...... } h3,h4 ....// two or more headers ...resp,_=req.Get("http://go.xiulian.net.cn",h,h2,h3,h4)

Set params

p:= requests.Params{"title": "The blog", "name": "file", "id": "12345", } resp,_:=req.Get("http://www.cpython.org", p)

Auth

Test with the correct user information.

req:=requests.Requests() resp,_:=req.Get("https://api.github.com/user",requests.Auth{"asmcos","password...."}) println(resp.Text())

github return

{"login":"asmcos","id":xxxxx,"node_id":"Mxxxxxxxxx=="..... 

JSON

req:=requests.Requests() req.Header.Set("Content-Type","application/json") resp,_=req.Get("https://httpbin.org/json") varjsonmap[string]interface{} resp.Json(&json) fork,v:=rangejson{fmt.Println(k,v) }

SetTimeout

req := Requests() req.Debug = 1 // 20 Second req.SetTimeout(20) req.Get("http://golang.org") 

Get Cookies

resp,_=req.Get("https://www.httpbin.org") coo:=resp.Cookies() // coo is [] *http.Cookiesprintln("********cookies*******") for_, c:=rangecoo{fmt.Println(c.Name,c.Value) }

About

Requests 是一个易于使用的golang HTTP库,与Python requests类似A golang HTTP client library. Salute to python requests.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go100.0%