質問編集履歴

2

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

2017/07/04 01:04

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- GO言語で新しいリクエストを送信した時、セッションを維持する方法を教えてください。
1
+ `http.Client.Do()`メソッドを使う際、既存のリクエストを再利用する方法を教えてください。
test CHANGED
@@ -316,4 +316,64 @@
316
316
 
317
317
  ###補足情報(言語/FW/ツール等のバージョンなど)
318
318
 
319
+ 20170704 追記
320
+
319
- にありません
321
+ タイトル選択ミスがあり、修正しした
322
+
323
+ 私が聞きたかった質問はリクエストを再利用する方法でした。
324
+
325
+ 試したコードで動作するのは確認しましたが、これよりいい方法があれば教えてください。
326
+
327
+
328
+
329
+ ```go
330
+
331
+ // Client
332
+
333
+ func cTest(w http.ResponseWrite, r *http.Request) {
334
+
335
+ serverURL := "http://localhost:8080/test"
336
+
337
+ r.Method = http.MethodGet
338
+
339
+ r.Host = serverURL // server
340
+
341
+ v, err := url.Parse(serverURL)
342
+
343
+ if err != nil {
344
+
345
+ log.Println("url parsing error occurred : ", err.Error())
346
+
347
+ return
348
+
349
+ }
350
+
351
+ c := &http.Client{Transport: &http.Transport{}}
352
+
353
+ resp, err := c.Transport.RoundTrip(r)
354
+
355
+ if err != nil {
356
+
357
+ log.Println("client roundtrip error occurred : ", err.Error())
358
+
359
+ return
360
+
361
+ }
362
+
363
+ defer resp.Body.Close()
364
+
365
+ body, err := ioutil.ReadAll(resp.Body)
366
+
367
+ if err != nil {
368
+
369
+ log.Println("response body reading error occurred : ", err.Error())
370
+
371
+ return
372
+
373
+ }
374
+
375
+ w.Write(body)
376
+
377
+ }
378
+
379
+ ```

1

タグ追加

2017/07/04 01:04

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes