Skip to content

Commit

Permalink
修复buildResponse直接报错问题,修复dll二进制数据传输被编码问题
Browse files Browse the repository at this point in the history
  • Loading branch information
wangluozhe committed Jan 10, 2024
1 parent 67b7627 commit ac53c64
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 9 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# requests
[![Gitee link address](https://img.shields.io/badge/gitee-reference-red?logo=gitee&logoColor=red&labelColor=white)](https://gitee.com/leegene/requests)[![Github link address](https://img.shields.io/badge/github-reference-blue?logo=github&logoColor=black&labelColor=white&color=black)](https://github.com/wangluozhe/requests)[![Go Version](https://img.shields.io/badge/Go%20Version-1.20-blue?logo=go&logoColor=white&labelColor=gray)]()[![Release Version](https://img.shields.io/badge/release-v1.2.3-blue)]()[![go documentation](https://img.shields.io/badge/go-documentation-blue)](https://pkg.go.dev/github.com/wangluozhe/requests)[![license GPL-3.0](https://img.shields.io/badge/license-GPL3.0-orange)](https://github.com/wangluozhe/requests/blob/main/LICENSE)
[![Gitee link address](https://img.shields.io/badge/gitee-reference-red?logo=gitee&logoColor=red&labelColor=white)](https://gitee.com/leegene/requests)[![Github link address](https://img.shields.io/badge/github-reference-blue?logo=github&logoColor=black&labelColor=white&color=black)](https://github.com/wangluozhe/requests)[![Go Version](https://img.shields.io/badge/Go%20Version-1.20-blue?logo=go&logoColor=white&labelColor=gray)]()[![Release Version](https://img.shields.io/badge/release-v1.2.4-blue)]()[![go documentation](https://img.shields.io/badge/go-documentation-blue)](https://pkg.go.dev/github.com/wangluozhe/requests)[![license GPL-3.0](https://img.shields.io/badge/license-GPL3.0-orange)](https://github.com/wangluozhe/requests/blob/main/LICENSE)

requests支持以下新特性:

Expand Down Expand Up @@ -28,7 +28,7 @@ go get github.com/wangluozhe/requests
## 下载指定版

```bash
go get github.com/wangluozhe/requests@v1.2.3
go get github.com/wangluozhe/requests@v1.2.4
```


Expand Down
3 changes: 2 additions & 1 deletion libs_dist/export.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import (
"github.com/wangluozhe/requests/libs"
ja3 "github.com/wangluozhe/requests/transport"
"github.com/wangluozhe/requests/url"
"github.com/wangluozhe/requests/utils"
url2 "net/url"
"strings"
"sync"
Expand Down Expand Up @@ -73,7 +74,7 @@ func request(requestParamsChar *C.char) *C.char {
responseParams["headers"] = response.Headers
responseParams["cookies"] = response.Cookies
responseParams["status_code"] = response.StatusCode
responseParams["content"] = response.Text
responseParams["content"] = utils.Base64Encode(response.Text)

responseParamsString, err := json.Marshal(responseParams)
if err != nil {
Expand Down
17 changes: 12 additions & 5 deletions sessions.go
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,10 @@ func (s *Session) Send(preq *models.PrepareRequest, req *url.Request) (*models.R
c, _ := cookiejar.New(nil)
c.SetCookies(request.URL, request.Cookies())
p.Prepare(request.Method, request.URL.String(), nil, &request.Header, c, nil, nil, nil, "", nil)
r := s.buildResponse(request.Response, p, &url.Request{})
r, err := s.buildResponse(request.Response, p, &url.Request{})
if err != nil {
return err
}
history = append(history, r)
}
// 获取上一次请求的Cookies
Expand Down Expand Up @@ -441,6 +444,7 @@ func (s *Session) Send(preq *models.PrepareRequest, req *url.Request) (*models.R
s.request, err = http.NewRequest(preq.Method, preq.Url, preq.Body)
if err != nil {
log.Fatalln(err)
return nil, err
}
s.request.Header = *preq.Headers
s.client.Jar = preq.Cookies
Expand All @@ -449,19 +453,22 @@ func (s *Session) Send(preq *models.PrepareRequest, req *url.Request) (*models.R
if err != nil {
return nil, err
}
response := s.buildResponse(resp, preq, req)
response, err := s.buildResponse(resp, preq, req)
if err != nil {
return nil, err
}
response.History = history
return response, nil
}

// 构建response参数
func (s *Session) buildResponse(resp *http.Response, preq *models.PrepareRequest, req *url.Request) *models.Response {
func (s *Session) buildResponse(resp *http.Response, preq *models.PrepareRequest, req *url.Request) (*models.Response, error) {
if resp.Body != nil {
defer resp.Body.Close()
}
content, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
return nil, err
}
encoding := resp.Header.Get("Content-Encoding")
DecompressBody(&content, encoding)
Expand All @@ -481,7 +488,7 @@ func (s *Session) buildResponse(resp *http.Response, preq *models.PrepareRequest
u, _ := url2.Parse(preq.Url)
s.Cookies.SetCookies(u, resp.Cookies())
}
return response
return response, nil
}

// 解码Body数据
Expand Down
2 changes: 1 addition & 1 deletion version.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ package requests

const (
NAME = "golang-requests" // 名称
VERSION = "1.2.3" // 当前版本
VERSION = "1.2.4" // 当前版本
USER_AGENT = NAME + VERSION // UA
)

0 comments on commit ac53c64

Please sign in to comment.