golang中文文档_可能是最像 requests 的Golang网络请求库

sreq 是一个简单、易用以及并发安全的 Golang 网络请求库,灵感来自 Python requestssreq 提供了 requests 风格的 API,让你可以像使用 requests 那样轻松高效地使用 net/http

发送请求

  • requests
resp = requests.get('http://httpbin.org/get')
  • sreq
resp := sreq.Get("http://httpbin.org/get")

传递 URL 参数

  • requests
payload = {
    'key1': 'value1',
    'key2': 'value2',
}
resp = requests.get('http://httpbin.org/get', params=payload)
  • sreq
payload := sreq.Params{
    "key1": "value1",
    "key2": "value2",
}
resp := sreq.Get("http://httpbin.org/get", sreq.WithQuery(payload))

响应内容

  • requests
data = requests.get('http://httpbin.org/get').text
  • sreq
// ignore error
data, _ := sreq.Get("http://httpbin.org/get").Text()

二进制响应内容

  • requests
data = requests.get('http://httpbin.org/get').content
  • sreq
// ignore error
data, _ := sreq.Get("http://httpbin.org/get").Content()

JSON 响应内容

  • requests
data = requests.get('http://httpbin.org/get').json()
  • sreq
data := make(map[string]interface{})
// ignore error
_ = sreq.Get("http://httpbin.org/get").JSON(&data)

原始响应内容

  • requests
data = requests.get('http://httpbin.org/get', stream=True).raw
  • sreq
// ignore error
data, _ := sreq.Get("http://httpbin.org/get").Raw()

定制请求头

  • requests
headers = {
    'Referer': 'https://www.google.com',
}
resp = requests.get('http://httpbin.org/get', headers=headers)
  • sreq
headers := sreq.Headers{
    "Referer": "https://www.google.com",
}
resp := sreq.Get("http://httpbin.org/get", sreq.WithHeaders(headers))

更加复杂的 POST 请求

  • requests
payload = {
    'key1': 'value1',
    'key2': 'value2',
}
resp = requests.post('http://httpbin.org/post', data=payload)
  • sreq
payload := sreq.Form{
    "key1": "value1",
    "key2": "value2",
}
resp := sreq.Post("http://httpbin.org/post", sreq.WithForm(payload))

上传文件

  • requests
files = {
    'file': open('report.xls', 'rb'),
}
resp = requests.post('http://httpbin.org/post', files=files)
  • sreq
files := sreq.Files{
    "file": sreq.MustOpen("report.xls"),
}
resp := sreq.Post("http://httpbin.org/post", sreq.WithMultipart(files, nil))

发送 Cookies

  • requests
cookies = {
    "name1": "value1",
    "name2": "value2",
}
resp = requests.get("http://httpbin.org/get", cookies=cookies)
  • sreq
cookies := sreq.Cookies{
    "name1": "value1",
    "name2": "value2",
}
resp := sreq.Get("http://httpbin.org/get", sreq.WithCookies(cookies))

响应 Cookies

  • requests
cookies = requests.get('https://www.xiami.com').cookies
  • sreq
// ignore error
cookies, _ := sreq.
    Get("https://www.xiami.com").
    Cookies()

更多用法可参阅:中文 Wiki 或者 API 文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值