2
我想使用套接字製作一個簡單的Web客戶端。我向網頁發送GET請求並希望收到一個HTML文件。我知道我可以使用recv()
來接收,但我想用FILE
來做到這一點。我使用fdopen
將套接字包裝在FILE
中。現在我可以使用fgetc()
來讀取響應。但是,fgets()
失敗 - 也許我錯了。任何方式輕鬆地逐行閱讀HTTP響應?使用套接字在C中使用I/O從服務器接收響應
這工作:
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);
}
如果讀取響應任何其他方便的方式,請告知。
讀這還不包括由線換行字符線的響應似乎很難對我來說,沒有定義說不可能。 – alk 2013-04-08 15:21:34
其實我覺得應答確實有新的換行符。但由於某種原因,我無法讓fgets正確讀取它。 – ask 2013-04-08 15:26:06
你有什麼錯誤?提示:'#include''perror(「fgets:」);' –
cdarke
2013-04-08 15:30:44