Cで単純なクライアントコードを実行してPOSTを実行し、サーバーに接続してデータストリームを読み取ります。現在、私はrecv()
で受信した完全な応答を印刷しており、それ以降の使用のために解析する必要があります。データストリームを読む前に、サーバーからHTTPステータスコード(200,400,401など)が何であるかを知りたい。私はヘッダーで同じになっています。ヘッダーを読む前にHTTPコードを取得する方法はありますか?Cでrecv()から抽出パラメータとペイロードを読み取る方法は?
ヘッドパラメータとペイロードを読み込むベストプラクティスは何ですか?私は検索しましたが、私が得た答えは '\ r \ n'の順序を読み、論理を適用することです。もっと良い方法はありますか?
私はこのコードをテストするためにUbuntuシステムを使用しています。以下は、印刷された応答である:
<p style="color:blue;">HTTP/1.1 401 Unauthorized
Server: Apache-Coyote/1.1
Content-Type: application/json
Content-Length: 69
Date: Mon, 08 Aug 2016 09:46:46 GMT
</p>
<p style="color:blue;">"You are not a authorized user to access this resource. Access denied."
'ヘッダーを読み取る前にHTTPコードを取得する方法はありますか?すでに意味がありません。 HTTPステータスコードは* in *ヘッダです。あなたが求めているものが不明であるか、または利用可能な作業ライブラリがすでにたくさんある場合にクライアント側のHTTPを再実装する理由。 HTTPを実装するには、TCP、ソケット、およびRFC 2616とその後継の知識が必要です。 – EJP