1 |
|
leetcode-0004
发表于
|
阅读次数:
字数统计:
150
|
阅读时长 ≈
1
1 | class Solution: |
leetcode-0003
发表于
|
阅读次数:
字数统计:
58
|
阅读时长 ≈
1
1 |
|
2019-go-25
beego 模块化设计之 context
上下文模块主要是针对 HTTP 请求中,request 和 response 的进一步封装,他包括用户的输入和输出,用户的输入即为 request,context 模块中提供了 Input 对象进行解析,用户的输出即为 response,context 模块中提供了 Output 对象进行输出。
context 对象是对 Input 和 Output 的封装,里面封装了几个方法:
- Redirect
- Abort
- WriteString
- GetCookie
- SetCookie
context 对象是 Filter 函数的参数对象,这样你就可以通过 filter 来修改相应的数据,或者提前结束整个的执行过程。
2019-go-24
发表于
|
阅读次数:
字数统计:
347
|
阅读时长 ≈
1
beego 模块化设计之httplib
httplib 库主要用来模拟客户端发送 HTTP 请求,类似于 Curl 工具,支持 JQuery 类似的链式操作。使用起来相当的方便;
有点像 requests模块
httplib 包里面支持如下的方法返回 request 对象:
- Get(url string)
- Post(url string)
- Put(url string)
- Delete(url string)
- Head(url string)
发送文件
req := httplib.Post("http://beego.me/")
bt,err:=ioutil.ReadFile("hello.txt")
if err!=nil{
log.Fatal("read file err:",err)
}
req.Body(bt)
文件直接上传接口
b:=httplib.Post("http://beego.me/")
b.Param("username","astaxie")
b.Param("password","123456")
b.PostFile("uploadfile1", "httplib.pdf")
b.PostFile("uploadfile2", "httplib.txt")
str, err := b.String()
if err != nil {
t.Fatal(err)
}
获取数据主要有如下几种方式:
返回 Response 对象,req.Response() 方法 这个是 http.Response 对象,用户可以自己读取 body 的数据等。
返回 bytes, req.Bytes() 方法 直接返回请求 URL 返回的内容
返回 string,req.String() 方法 直接返回请求 URL 返回的内容
保存为文件,req.ToFile(filename) 方法 返回结果保存到文件名为 filename 的文件中
解析为 JSON 结构,req.ToJSON(&result) 方法 返回结构直接解析为 JSON 格式,解析到 result 对象中
解析为 XML 结构,req.ToXml(&result) 方法 返回结构直接解析为 XML 格式,解析到 result 对象中