[解決済み] Go で HTTP レスポンスに文字列としてアクセスする
2022-04-16 13:08:56
質問
Webリクエストのレスポンスを解析したいのですが、文字列としてアクセスするのに苦労しています。
func main() {
resp, err := http.Get("http://google.hu/")
if err != nil {
// handle error
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
ioutil.WriteFile("dump", body, 0600)
for i:= 0; i < len(body); i++ {
fmt.Println( body[i] ) // This logs uint8 and prints numbers
}
fmt.Println( reflect.TypeOf(body) )
fmt.Println("done")
}
レスポンスに文字列でアクセスするにはどうすればよいですか?
ioutil.WriteFile
は、レスポンスをファイルに正しく書き込みます。
パッケージのリファレンスも確認済みですが、あまり参考になりません。
どのように解決するのですか?
bs := string(body)
という文字列があれば十分です。
そこから、通常の文字列として使用することができます。
として少し
このスレッドでは
(更新後
Go 1.16 -- 2021年第1四半期--。
ioutil
ディペロップ
:
ioutil.ReadAll()
=>
io.ReadAll()
):
var client http.Client
resp, err := client.Get(url)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
if resp.StatusCode == http.StatusOK {
bodyBytes, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
bodyString := string(bodyBytes)
log.Info(bodyString)
}
参照 サンプル .
以下のコメントにもあるように(そして
zzn
's
答え
) の場合、これは
変換
(参照
スペック
).
"をご覧ください。
どの程度高いか
[]byte(string)
?
という問題(逆の問題だが、結論は同じ)。
zzzz
が挙げられています。
のように、キャストと同じような変換もあります。
uint(myIntvar)
これは、ビットをそのまま再解釈するだけです。
ソニア が追加されます。
バイトスライスから文字列を作るには、間違いなくヒープに文字列を割り当てる必要があります。不変性という特性は、これを強制します。
byteでできる限りの作業を行い、最後に文字列を作成することで最適化できる場合があります。それはbytes.Buffer
というタイプが便利なことが多い。
関連
-
[解決済み] PythonでHTTP GETを行う最短の方法は何ですか?
-
[解決済み] Goでint値をstringに変換する方法は?
-
[解決済み] ゼロ終端のバイト配列を文字列に変換するにはどうすればよいですか?
-
[解決済み] Goの文字列を印刷せずにフォーマットしますか?
-
[解決済み] Goで文字列を整数型に変換する?
-
[解決済み】Goで空の文字列をテストする最良の方法は何ですか?
-
[解決済み】Goで一定の長さのランダムな文字列を生成するには?
-
[解決済み】構造体からフィールドを削除したり、JSONレスポンスでフィールドを隠したりする方法
-
[解決済み】WindowsのコマンドラインからTCPとUDPのポートを閉じる方法
-
[解決済み] Go で HTTP レスポンスに文字列としてアクセスする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン