• Stars
    star
    427
  • Rank 97,863 (Top 2 %)
  • Language
    Go
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A developer-friendly HTTP request library for Gopher.

request

Build Status Coverage Status Go Report Card GoDoc

A developer-friendly HTTP request library for Gopher. Inspired by Python-Requests.

Installation

go get -u github.com/mozillazg/request

Documentation

API documentation can be found here: https://godoc.org/github.com/mozillazg/request

Usage

import (
    "github.com/mozillazg/request"
)

GET:

c := new(http.Client)
req := request.NewRequest(c)
resp, err := req.Get("http://httpbin.org/get")
j, err := resp.Json()
defer resp.Body.Close()  // Don't forget close the response body

POST:

req := request.NewRequest(c)
req.Data = map[string]string{
    "key": "value",
    "a":   "123",
}
resp, err := req.Post("http://httpbin.org/post")

Cookies:

req := request.NewRequest(c)
req.Cookies = map[string]string{
    "key": "value",
    "a":   "123",
}
resp, err := req.Get("http://httpbin.org/cookies")

Headers:

req := request.NewRequest(c)
req.Headers = map[string]string{
    "Accept-Encoding": "gzip,deflate,sdch",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
}
resp, err := req.Get("http://httpbin.org/get")

Files:

req := request.NewRequest(c)
f, err := os.Open("test.txt")
req.Files = []request.FileField{
    request.FileField{"file", "test.txt", f},
}
resp, err := req.Post("http://httpbin.org/post")

Json:

req := request.NewRequest(c)
req.Json = map[string]string{
    "a": "A",
    "b": "B",
}
resp, err := req.Post("http://httpbin.org/post")
req.Json = []int{1, 2, 3}
resp, err = req.Post("http://httpbin.org/post")

Proxy:

req := request.NewRequest(c)
req.Proxy = "http://127.0.0.1:8080"
// req.Proxy = "https://127.0.0.1:8080"
// req.Proxy = "socks5://127.0.0.1:57341"
resp, err := req.Get("http://httpbin.org/get")

or https://github.com/mozillazg/request/tree/develop/_example/proxy

HTTP Basic Authentication:

req := request.NewRequest(c)
req.BasicAuth = request.BasicAuth{"user", "passwd"}
resp, err := req.Get("http://httpbin.org/basic-auth/user/passwd")

License

Under the MIT License.

More Repositories

1

python-pinyin

汉字转拼音(pypinyin)
Python
4,448
star
2

go-pinyin

汉字转拼音
Go
1,467
star
3

pinyin-data

汉字拼音数据
Python
1,025
star
4

pypy

The unofficial GitHub mirror of PyPy (mirrored via https://github.com/mozillazg/job-mirror-hg-repos)
Python
425
star
5

phrase-pinyin-data

词语拼音数据
Python
392
star
6

rust-pinyin

汉字转拼音
Rust
190
star
7

baidu-pcs-python-sdk

百度个人云存储(PCS)Python SDK. (因为 PCS 服务已关闭,推荐改用百度网盘 API: https://github.com/ly0/baidupcsapi )
Python
182
star
8

ShortURL

A URL Shortener Site 短网址生成网站(web.py)
Python
167
star
9

go-unidecode

ASCII transliterations of Unicode text.
Go
111
star
10

go-cos

腾讯云对象存储服务 COS(Cloud Object Storage) Go SDK(XML API)
Go
89
star
11

go-slugify

Pretty Slug.
Go
88
star
12

random-avatar

Random Avatar(Identicon) Service.
Python
45
star
13

go-httpheader

A Go library for encoding structs into Header fields.
Go
44
star
14

bustard

A tiny WSGI web framework
Python
44
star
15

python-shanbay

提供一系列操作扇贝网 (www.shanbay.com) 的 API(不再维护)
Python
43
star
16

pyqr

[web.py]Online QR Code Generator 在线生成二维码图片
Python
38
star
17

pypinyin-g2pW

基于 g2pW 提升 pypinyin 的准确性
Python
33
star
18

hello-libbpfgo

examples for libbpf and libbpfgo
Makefile
32
star
19

flask-sites

A Website - Collecting Websites Powered By Flask. http://flasksites.org
JavaScript
31
star
20

apm-python-agent-principle

Python 探针实现原理
Python
29
star
21

PyShanb

命令行下的扇贝(shanbay.com)词典(停止维护)
Python
26
star
22

pypinyin-dict

使用 pinyin-data 和 phrase-pinyin-data 中的拼音数据文件覆盖 pypinyin 中的内置拼音数据
Python
25
star
23

libbpfgo-tools

libbpfgo port of bcc/libbpf-tools
Go
23
star
24

blog

My Blog
Python
19
star
25

python-shanbay-team-assistant

扇贝网 (www.shanbay.com) 小组管理助手
Python
18
star
26

pkuic-001

https://class.coursera.org/pkuic-001/class/index
C++
14
star
27

justping

找出 ping 值最小的 IP/域名
Python
14
star
28

lark

Music FM
Python
13
star
29

my-blog-file

my blog post source file(markdown )
Perl
13
star
30

lsbate

Let's Build A Template Engine(让我们一起来构建一个模板引擎)
Python
12
star
31

tinyq

A tiny job queue framework
Python
10
star
32

django-endless-pagination-bootstrap-theme

An bootstrap theme for django-endless-pagination.
7
star
33

mozillazg

4
star
34

hello-python-plugin

尝试实现简单的插件功能。
Python
3
star
35

qiniu-cli

Qiniu CLI tool
Python
3
star
36

alibabacloud-oidc-auth

GitHub Action for authenticating to Alibaba Cloud with GitHub Actions OIDC tokens.
TypeScript
3
star
37

echo-k8s-webhook

Dump k8s Admission webhook request payload
Go
3
star
38

go-o3o

a ascii emoticon generator based on Go
Go
3
star
39

mozillazg.github.com

https://mozillazg.github.io/
HTML
3
star
40

comkc

Python
3
star
41

Unidecode

The unofficial GitHub mirror of Unidecode
Python
2
star
42

go-charset

Get the content charset from header and html content-type.
Go
2
star
43

flask-demo

Hello Flask.
Python
2
star
44

image-mime

根据图片内容判断 MIME 类型
Python
2
star
45

aiobearychat

BearyChat 异步 Python SDK
Python
2
star
46

django-simple-projects

Some demos
JavaScript
2
star
47

python-mini-script

some python script
Python
2
star
48

python-shellwords

Parse line as shell words
Python
2
star
49

webhookcert

A simple certificate solution for writing Kubernetes Webhook Server
Go
1
star
50

mirror-hg-repo

A GitHub Action to mirror Mercurial (hg) repository to GitHub.
TypeScript
1
star
51

gobpf-examples

C
1
star
52

docker-credential-acr-helper

A credential helper for the Docker daemon that makes it easier to use Alibaba Cloud Container Registry(ACR).
Go
1
star
53

qn_cli

Qiniu upload client written in Go.
Go
1
star
54

mtum

Clone tumblr.com with django (just for learn django) 使用 django 实现 tumblr.com
Python
1
star
55

Markdown-textarea

http://userscripts.org/scripts/show/91369
JavaScript
1
star
56

f

Ruby-Style String Interpolation for Python.
Python
1
star
57

file-hash

file hash(MD5,SHA1,CRC32) [Python]
Python
1
star
58

binaryless

Binaryless Base Images
Makefile
1
star
59

comic

http://comic.mozillazg.com
HTML
1
star
60

coscli

CLI for COS
Go
1
star
61

snippets

Code Snippets
Go
1
star
62

scripts

some tools and/or scripts.
1
star
63

go-chardet

Character encoding auto-detection in Go.
1
star
64

hide-github-fork-button.user.js

Hide github fork button for some reason
JavaScript
1
star
65

stpinyin

Convert pinyin like this: you1 -> yōu
Go
1
star
66

xiaoai

Python
1
star
67

webpy-code-examples

web.py Code samples ( http://webpy.org/src/ )
Python
1
star