ソケットを使用して単純な Web クライアントを作成しようとしています。Web ページに GET リクエストを送信し、HTML ファイルを受信したいと考えています。を使用して受信できることはわかっていますがrecv()
、 を使用してこれを行いたいですFILE
。fdopen
でソケットをラップするために使用していますFILE
。fgetc()
これで、応答を読み取るために使用できます。ただし、fgets()
失敗します-間違って使用している可能性があります。HTTP 応答を 1 行ずつ簡単に読み取る方法はありますか?
これは機能します:
FILE *input = fdopen(mySocket, "r");
while(!feof(input))
{
printf("%c", fgetc(input));
}
これらの行に沿って何かが必要です:
FILE *input = fdopen(mySocket, "r");
char c[2000];
while(fgets(c, sizeof(c), input) != NULL)
{
printf("%s\n", c);
}
他に回答を読むのに便利な方法があれば教えてください。