質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

3回答

2879閲覧

golangでサイトにhttpリクエストした際、レスポンスボディが英語になっている

退会済みユーザー

退会済みユーザー

総合スコア0

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2017/10/29 13:07

golangで、サイトのURLにGETリクエストをした際、返ってくるレスポンスボディ(HTML)が英語版になっています。

go

1resp, err := client.Do(request) 2 if err != nil { 3 log.Fatal(err) 4 } 5 defer resp.Body.Close() 6 c, err = ioutil.ReadAll(resp.Body) 7 if err != nil { 8 log.Fatal(err) 9 }

このcの中身はhtmlですが、テキストが全て英語です。
どうやったら日本語で返ってくるようにできますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

Webサイトが、日本語に対応している(Webブラウザや curl で、Webサイトを確認すると日本語でレスポンスが返ってくる)前提です。

Web サイトが、HTTPヘッダに Accept-Language がない場合、デフォルト言語は en (英語)とみなす仕様になっているのではないでしょうか?

リクエストヘッダで、 Accept-Language: ja-jp を送信して、日本語と通知するようにしたら、変わらないでしょうか?

投稿2017/10/29 23:42

編集2017/10/29 23:50
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

サイトが日本語を出す条件により変わります。例えば Google であれば IP から判定していたりします。Accept-Language による方法であれば、皆さんが仰る様にリクエストに Accept-Language というヘッダを付ければ(もしサーバがそれに応じてくれれば)、日本語が返ってくると思います。

go

1package main 2 3import ( 4 "io/ioutil" 5 "log" 6 "net/http" 7) 8 9func main() { 10 req, err := http.NewRequest(http.MethodGet, "http://example.com/", nil) 11 if err != nil { 12 log.Fatal(err) 13 } 14 req.Header.Add("Accept-Language", "ja") 15 resp, err := http.DefaultClient.Do(req) 16 if err != nil { 17 log.Fatal(err) 18 } 19 defer resp.Body.Close() 20 21 b, err := ioutil.ReadAll(resp.Body) 22 if err != nil { 23 log.Fatal(err) 24 } 25 println(string(b)) 26}

※例は example.com なので日本語は返ってきません

投稿2017/10/30 00:48

mattn

総合スコア5030

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

どこのサイトにrequestを投げているのですか?
外部なのであればそちらの仕様によるので、日本語対応されていないなら難しいと思います。

投稿2017/10/29 23:34

yuki-saito

総合スコア928

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問