Soyez le premier à donner votre avis sur cette source.
Vue 9 907 fois - Téléchargée 1 002 fois
//reste du code dans le zip int main() { int sock=-1; char server_name[]="killingskill.ke0.eu"; char request_host[]="killingskill.ke0.eu"; char request_path[]="/"; char fichier[]="index.php"; int port=80; WSADATA wsa; WSAStartup(MAKEWORD(2,0),&wsa); HTTPreader http; if(http.connection(server_name,port)<0) return -1; http.load(request_host,request_path,fichier); http.save(fichier); WSACleanup( ); system("pause"); return 0; }
29 oct. 2009 à 00:15
Tu code en C++ objet, donc 2 petit conseil.
1- Bumpman l'a dit, tu oubli de liberer la memoir alloué avec free();.
Un malloc(); et toujours suivit d'un free();
2- En realiter, avec les classes il est preferable d'utiliser
les operateur new et delete.
C'est une abitude a prendre car C++ gerent mieux ces operateurs pour pouvoir appeler le constructeur et le destructeur d'une classe lorsqu'on alloue celle ci dynamiquement.
char * buf;
buf=new char [nbtab]; // creer un tableau de nbtab carractere
//tu utilise ton buffer
delete buf; //important, et oui sans sa la variable reste allouer
// ta RAM n'est pas infini. La derniere foi que j'ai mal ordoner mes allocation, mon PC c'est etein (je croi que la RAM etait devenu inaxessible)
25 avril 2009 à 07:17
Voila le bon code:
destination.erase(); // std::string
char buffer[128];
int n;
while((n=recv(sock,buffer,sizeof(buffer)-1,0))>0)
{
buffer[n]='\0';
destination+=buffer;
}
25 avril 2009 à 07:06
25 avril 2009 à 07:04
J'ai fait une fonction pour recuperer le contenue d'une page mais le probléme c'est que j'ai des caracteres en plus comme des "fef" ou des A qui s'ajoute au contenue qui n'existe pas quand je verifie avec IE ou firefox.
voila le morceau de code qui gere l'envoye et la reception des requettes :
sprintf(reqHTTP,"GET /index.php HTTP/1.1\r\nConnection: Close\r\n\r\n");
send(sock,reqHTTP,strlen(reqHTTP),0);
destination.erase(); // std::string
char cs[96];
while(recv(sock,cs,sizeof(cs),0)>0)
destination+=cs;
Voila, merci d'avance pour votre aide.
14 avril 2009 à 23:12
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.