package main
import (
"fmt"
"github.com/r3labs/sse/v2"
"net/http"
"net/url"
"strings"
"time"
)
func main() {
client := &http.Client{
// 设置Transport字段为自定义Transport,包含代理设置
Transport: &http.Transport{
Proxy: func(req *http.Request) (*url.URL, error) {
// 设置代理
proxyURL, err := url.Parse("http://127.0.0.1:7890")
if err != nil {
return nil, err
}
return proxyURL, nil
},
},
}
// 创建 SSE 客户端
sseClient := sse.NewClient("https://api.openai.com/v1/chat/completions")
sseClient.Connection = client
// 设置请求体
reqBody := strings.NewReader(`{"model": "gpt-3.5-turbo","messages": [{"role": "user", "content": "我想要去北京"}],"stream": true}`)
sseClient.Body = reqBody
sseClient.Method = "POST"
headers := make(map[string]string)
headers["Authorization"] = "Bearer Key"
headers["Content-Type"] = "application/json"
sseClient.Headers = headers
// 监听 SSE 事件
err := sseClient.SubscribeRaw(func(msg *sse.Event) {
fmt.Printf("Received event: %v\n", string(msg.Data))
})
if err != nil {
return
}
// 等待事件
time.Sleep(time.Minute)
}
go语言SSE客户端
发布时间 2023-04-11 01:26:01作者: 老卫同学