我想創(chuàng)建一個自定義的 http 客戶端,這樣我就可以盡可能多地重復(fù)使用它。但是,我認(rèn)為 Go 已經(jīng)抽象了代碼背后發(fā)生的一些過程。我知道要獲得獲取請求,必須已創(chuàng)建客戶端??蛻舳耸窃谀睦飫?chuàng)建的,我如何自定義它或用我自己的替換它?package mainimport ( "fmt" "github.com/njasm/gosoundcloud") s, err = gosoundcloud.NewSoundcloudApi("Client_Id", "Client_Secret", nil)func main() { if err = s.PasswordCredentialsToken("email@example.com", "password"); err != nil { fmt.Println(err) os.Exit(1)} member, err := s.GetUser(uint64(1)) if err != nil { panic(err) } fmt.Println(member.Followers)}以下是 soundcloud 包裝器的參考:func NewSoundcloudApi(c string, cs string, callback *string) (*SoundcloudApi, error)func (s *SoundcloudApi) PasswordCredentialsToken(u string, p string) errorfunc (s *SoundcloudApi) GetUser(id uint64) (*User, error)
1 回答

MMMHUHU
TA貢獻1834條經(jīng)驗 獲得超8個贊
使用 Golang,您可以輕松創(chuàng)建客戶端并將其用于請求:
client := &http.Client{
CheckRedirect: redirectPolicyFunc,
}
resp, err := client.Get("http://example.com")
但在您的情況下,根據(jù)您使用的 gosoundcloud 包,調(diào)用時會創(chuàng)建 http.Client :
s.PasswordCredentialsToken("email@example.com", "password");
創(chuàng)建的客戶端嵌入到“SoundcloudApi”結(jié)構(gòu)(代碼中的“s”)中,并且是一個私有字段。因此,您無法訪問它。
無論如何,它似乎在您要求“s”做某事時使用(例如在調(diào)用 s.User 時),因此它似乎可以滿足您的要求。
- 1 回答
- 0 關(guān)注
- 170 瀏覽
添加回答
舉報
0/150
提交
取消