teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

試して成功した結果を記載しますが、そのコードが正しいかは知りません。

2017/07/04 01:04

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- GO言語で新しいリクエストを送信した時、セッションを維持する方法を教えてください。
1
+ `http.Client.Do()`メソッドを使う際、既存のリクエストを再利用する方法を教えてください。
body CHANGED
@@ -157,4 +157,34 @@
157
157
  ② リクエスト生成後、コンテキストを使用してリクエスト送信する。(`req = request.WithContext(context.BackgroundContext())`)
158
158
 
159
159
  ###補足情報(言語/FW/ツール等のバージョンなど)
160
+ 20170704 追記
160
- にありません
161
+ タイトル選択ミスがあり、修正しした
162
+ 私が聞きたかった質問はリクエストを再利用する方法でした。
163
+ 試したコードで動作するのは確認しましたが、これよりいい方法があれば教えてください。
164
+
165
+ ```go
166
+ // Client
167
+ func cTest(w http.ResponseWrite, r *http.Request) {
168
+ serverURL := "http://localhost:8080/test"
169
+ r.Method = http.MethodGet
170
+ r.Host = serverURL // server
171
+ v, err := url.Parse(serverURL)
172
+ if err != nil {
173
+ log.Println("url parsing error occurred : ", err.Error())
174
+ return
175
+ }
176
+ c := &http.Client{Transport: &http.Transport{}}
177
+ resp, err := c.Transport.RoundTrip(r)
178
+ if err != nil {
179
+ log.Println("client roundtrip error occurred : ", err.Error())
180
+ return
181
+ }
182
+ defer resp.Body.Close()
183
+ body, err := ioutil.ReadAll(resp.Body)
184
+ if err != nil {
185
+ log.Println("response body reading error occurred : ", err.Error())
186
+ return
187
+ }
188
+ w.Write(body)
189
+ }
190
+ ```

1

タグ追加

2017/07/04 01:04

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
File without changes