接続golangからjsonデータを取得する方法

WBOY
リリース: 2024-02-06 08:33:04
転載
1137 人が閲覧しました

接続golangからjsonデータを取得する方法

質問内容

golangで書かれたtcp接続を利用してコンソールからcurlリクエストを送信しています。基本的にはデータフローです。次のコードを使用して、データを正常に受信し、バッファに保存できます。 リーリー

ただし、このコードを使用してこのデータを読み取ろうとすると、次のようになります。 リーリー

次のエラーが表示されます

リーリー

データ自体を印刷すると、次のように表示されます

リーリー

上記のことから、問題がどこにあるのかが明確にわかります。データにヘッダーが追加されるため、

POST

P が golang の不満の対象になります。だからアンマーシャリングできないんです。そこで私の質問は次のとおりです。 データをサーバーに送信する方法、またはデータが到着したときにデータをトリミングする方法を教えてください。使用するのは json 部分だけです: リーリー 追記 - データを取得するために http

の代わりに tcp 接続を使用しています。

オンラインでさまざまなソリューションを探しましたが、自分のユースケースに合うものが見つかりませんでした。

正解

cURL は TCP クライアントではありません。これは HTTP クライアントであり、プロトコルに固有のいくつかのヘッダー (リクエスト メソッドやパスなど) を自然に生成します。これは、最終的に TCP 接続経由で送信されるものです。したがって、サーバーが期待するもの (プレーン TCP) とクライアントが送信するもの (HTTP) の間には不一致があります。

生データを

http .ReadRequest

などの HTTP リクエストに解析するようにサーバー コードを更新するか、単に予想されるペイロードをネットワーク経由で送信するクライアント (つまり純粋な TCP) を使用する必要があります。 Netcat を使用するとこれが簡単になります。解決しようとしている問題についてあまり詳しくない場合は、デフォルトで後者のアプローチをお勧めします (そもそも、TCP が必要なときに HTTP を送信する必要があるのでしょうか?)。

以上が接続golangからjsonデータを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート