2011-07-13 2 views
1

Est-il possible de communiquer avec le serveur via des fonctions IO de fichier brut telles que fprintf() et fscanf()?HTTP POST/GET via stdio

E.g. ce code ne fonctionnera pas afaik:

#include <stdio.h> 

int main() 
{ 
    FILE* f = fopen("http://example.com/", "r"); 

    while (!feof(f)) 
    { 
     char *s = new char[255]; 
     fscanf(f, "%s", s); 
     printf("%s\n", s); 
     delete[] s; 
    } 

    fclose(f); 

    return 0; 
} 

Répondre

4

Non, cela ne fonctionnera pas, ce n'est pas ce que stdio est pour. Mais je vous dire ce que vous pouvez faire:

  • Utilisez libcurl
  • Utilisez asio
  • Utilisez vos propres prises

Je ne sais pas win32, mais sur Unix, vous pouvez:

  • Obtenir une prise à cet hôte en utilisant connect(2)
  • utilisation 012.356.pour l'associer à un FILE *

De plus, ces fonctions ne sont pas « brutes » du tout; il se passe beaucoup de choses avant que les choses vraiment brutes soient appelées (les appels système).

0

Pas par STDIO en soi, vous devez avoir quelque chose ouvrir le socket.