begin process at 2008 08 20 17:20:37
1 228 964 membres
325 nouveaux aujourd'hui
14 259 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Récupérer une page web [ Archives / Réseau / Internet ] (micfrip)

Récupérer une page web le 14/11/2003 11:00:44

micfrip

Bonjour à tous,

Etant assez novice en matière c/c++, je souhaite vous soumettre mon petit projet.

Je possède un serveur Linux sur lequel j'héberge mon site. Je voudrais récupérer l'ip publique de mon routeur en allant sur une page extérieure qui indique cette ip ( du style http://www.facultyof1000.com/whatsmyip.asp )

Ma question est de savoir comment allez rechercher une page web et la stocker pour pouvoir ensuite la lire et récupérer ce qui m'intéresse.

D'avance, merci de votre aide.


Re : Récupérer une page web le 15/11/2003 16:39:35

LuckyNut

Soit tu utilise les sockets, mais si tu es novice ca rique d'etre un peu trop compliqué (quoi que...) sinon voici un petit bout de code :



#define TAILLEMAX 10000 // entre une taille assez grande pour accueillir ta page

CStdioFile *fic;
CInternetSession session;
int taille=TAILLEMAX
char buffer[TAILLEMAX];

session.AssertValid();
fic = session.OpenURL("http://www.machin.com"l, 0, INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_KEEP_CONNECTION);

if(fic==NULL) {
return;
}

fic->Read(buffer,taille));

fic->Close();

////Ca y'est ta page est dans buff


Voila, j'espère que ca t'aide !

A+

Re : Récupérer une page web le 15/11/2003 16:42:35

LuckyNut
Désolé au moment ou je poste ce message, je m'aprecois que tu es sous Linux...

Ca va pas marcher !
Utilise les sockets !

A+

Re : Récupérer une page web le 15/11/2003 17:45:33

micfrip

Ah bon ? On ne sait pas utiliser cette méthode avec Linux ?

Bizarre.

Enfin, merci de ton aide en tous cas !

Re : Récupérer une page web le 15/11/2003 18:28:07

aardman
Membre Club
Salut,
Ci joint un bout de code qui se connecte a http://www.facultyof1000.com, qui effectue la requete http://www.facultyof1000.com/whatsmyip.asp, et qui l'affiche.

Alors, j'ai jamais touché a linux donc je sais pas vraiment si c'est "portable". Mais c'est codé avec les sockets simples donc je pense que tu n'aura pas trop de mal a adapter tout ca selon tes besoins.

#include <stdio.h>
#include <winsock2.h>
#include <windows.h>
#pragma comment(lib, "ws2_32.lib")

SOCKET s;
in_addr addr;
sockaddr_in sin;
hostent * host;
WSADATA wsa;
char buf[1024];
int octet = 0;

int main(void)
{
WSAStartup(0x0202, &wsa);

s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(s == SOCKET_ERROR){
printf("socket : %d\n", WSAGetLastError());
}

host = gethostbyname("www.facultyof1000.com");

memcpy(&addr, host->h_addr, host->h_length);
sin.sin_family = AF_INET;
sin.sin_port = htons(80); // HTTP
sin.sin_addr = addr;

if(SOCKET_ERROR == connect(s,(sockaddr*)&sin, sizeof(sin))){
printf("connect : %d\n", WSAGetLastError());
}

strcpy(buf, "GET http://www.facultyof1000.com/whatsmyip.asp HTTP/1.0\n\n"); // la requete http
send(s, buf, strlen(buf), 0);

octet = recv(s, buf, sizeof(buf), 0);

for(int i=0; i<octet; i++)
printf("%c", buf[i]);

closesocket(s);
WSACleanup();
return 0;
}

Re : Récupérer une page web le 20/06/2006 14:56:05

ipeteivince
Membre Club
Salut moi je suis sous windows, mais le code :
#define TAILLEMAX 10000 // entre une taille assez grande pour accueillir ta page 

CStdioFile *fic;
CInternetSession session;
int taille=TAILLEMAX
char buffer[TAILLEMAX];

session.AssertValid();
fic = session.OpenURL("http://www.machin.com"l, 0, INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_KEEP_CONNECTION);

if(fic==NULL) {
return;
}

fic->Read(buffer,taille));

fic->Close();

////Ca y'est ta page est dans buff

Me renvoie l'erreur CStioFile undeclared, firts use in this program.

Quel est le paquet à ajouter ?



Classé sous : récupérer, web, page, ip

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
campagne Adwords
Budget : 5 000€
Boite echanges securis...
Budget : 500€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS