http
http库提供了各种常用的http功能,包括:服务端、客户端、websocket
作为客户端时:
作为服务端时:
函数文档
func get(url, headers?)
用GET方法请求指定url的资源,返回一个Bytes值
若请求失败时,抛出异常
func getJson(url, headers?)
用GET方法请求指定url的资源,并将返回内容按json格式解析为一个ZGG的值
若请求失败时,抛出异常
func postForm(url, form, headers?)
以x-www-form-urlencoded方式往指定URL发起一次Post Form请求。若请求失败则抛出异常。
Examples
zgg> @http.postForm('https://httpbin.org/post', {
.... name: 'zgg',
.... values: [1, 2, 3],
.... }, {
.... Authorization: 'Bearer HelloWorld',
.... })
{
"args": {},
"data": "",
"files": {},
"form": {
"name": "zgg",
"values": [
"1",
"2",
"3"
]
},
"headers": {
"Accept-Encoding": "gzip",
"Authorization": "Bearer HelloWorld",
"Content-Length": "35",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "Go-http-client/2.0",
"X-Amzn-Trace-Id": "Root=1-62b404ea-7271f822152de246228bd973"
},
"json": null,
"origin": "137.59.101.43",
"url": "https://httpbin.org/post"
}
func postJson(url, jsonValue, headers?)
往指定URL发起一次Post Json请求。若请求失败则抛出异常。
Examples
zgg> @http.postJson('https://httpbin.org/post', {
.... name: 'zgg',
.... values: [1, 2, 3],
.... }, {
.... 'X-My-Header': 'My Value lalala',
.... })
{
"args": {},
"data": "{\"name\":\"zgg\",\"values\":[1,2,3]}",
"files": {},
"form": {},
"headers": {
"Accept-Encoding": "gzip",
"Content-Length": "31",
"Content-Type": "application/json",
"Host": "httpbin.org",
"User-Agent": "Go-http-client/2.0",
"X-Amzn-Trace-Id": "Root=1-62b40554-306f51a40a6b9ee901489c05",
"X-My-Header": "My Value lalala"
},
"json": {
"name": "zgg",
"values": [
1,
2,
3
]
},
"origin": "137.59.101.43",
"url": "https://httpbin.org/post"
}
type Request
func serve(listenAddr, handleFunc)
功能:启动一个web服务器,监听listenAddr地址(格式同go的http.ListenAndServe的第一个参数),并用handleFunc处理每个请求。
serve函数是一个非常简便的提供http服务的方法,适用于对外提供简单服务。
最后更新于