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 !

LIRE UNE PAGE WEB GZIPPÉ (WINSOCK,ZLIB)


Information sur la source

Catégorie :Compression & Split Classé sous : http, gzip, gz, compression Niveau : Débutant Date de création : 02/07/2004 Vu / téléchargé: 8 514 / 806

Note :
10 / 10 - par 4 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Ce code permet de lire une page web gzippé c'est a dire compressé
par le serveur http et illisible en mode texte.

Il s'appuie sur la dll zlib pour decompresser le fichier gz et afficher
la page web correctement.

Il est destiné entre autre a Bubble44 ;)
 

Conclusion

/!\ certain firewall supprime/modifie la balise Content-encoding de
l'entete http de ce fait le serveur ne renvoi pas un contenue gzippé
alors veillez bien a le desactiver lors des testes

@+
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Renfield le 02/07/2004 12:34:36 administrateur CS

Encore "du EbArtSoft" travail recherché, et de qualité...

je me demandes juste si beaucoup de sites avaient recours a la compression...

signaler à un administrateur
Commentaire de bubble44 le 02/07/2004 21:00:19

Je met 10 les yeux fermés, sans testé lol, j'ai confiance.

=)))))

Tiens j'ai un truc pour toi EBArtSoft, a mon avis ca pourrait te donner des idees.
A quake III y a un truc anti triche qui s'appele Punk Buster, bref ... ils ont codés un truc d'identification d'un pc, en fonction du hardware du pc.
Je trouve ca assez bluffant comme je raconte mal, autant que je quote un truc :

"Les petits gars d'EvenBalance ne lésinent pas sur les moyens.
Après le désormais fameux PB GUID qui leur permet d'identifier la CD key d'un tricheur et de la bannir, EvenBalance nous annonce sa dernière création : le Hardware GUID, qui consiste comme le PB GUID en un hash, mais celui-ci est créé cette fois à partir de l'identification du matériel de l'utilisateur.

L'idée est donc désormais, en cas de cheat, de bannir non seulement le PB GUID, mais aussi le Hardware GUID.
Quelqu'un qui se fait bannir n'aura donc d'autre choix, pour continuer à jouer, que de racheter à la fois une CD Key et un PC complet, car on ignore quelles pièces du matos sont concernées et changer de carte graphique, par exemple, pourrait très bien s'avérer inutile."

Je sourie car j'ai comme deja l'impression que tu vois comment tu ferais pour faire un truc analogue. Eux en sont plutot fiers.
Ca pourrait etre une source interessante, pour des programmes shareware en ligne.

signaler à un administrateur
Commentaire de bubble44 le 02/07/2004 21:06:13

Ca marche nickel, pas mal le 60 % de compression, ca prouve que c'est efficasse gzip.
Un bon add-on pour le source proxy : http://www.vbfrance.com/code.aspx?ID=21738

qui ne gerait pas gzip.

signaler à un administrateur
Commentaire de ennixo le 03/07/2004 17:22:37

Excellent travail !

signaler à un administrateur
Commentaire de gogomanu le 08/06/2006 16:22:51

J'ai essayé pas mal de fois avant de trouver pourquoi avec mon code (moi aussi je fais du download/upload HTTP mais je suis en plein dans la décompression GZip, d'où le test de ton code) je recevais la page google compressée et avec ton code elle arrivait non compressée.

Après de nombreux tatonnements et un header final (collé plus bas) bien modifié, j'ai trouvé que ce qui pose le plus de problèmes c'est le User-Agent: avec un header Mozilla correct je reçois toujours la page compressée (il suffit d'enlever le slash de Mozilla/5.0 par exemple et la page arrive non compressée)

mQuery = _
    "GET " & vLnk.lPath & vLnk.lPage & vLnk.lMacro & " HTTP/1.1" & vbCrLf & _
    "Host: " & vLnk.lHost & vbCrLf & _
    "User-Agent: Mozilla/5.0 (Windows)" & vbCrLf & _
    "Accept: text/xml,application/xml,application/html+xml,text/html,text/plain" & vbCrLf & _
    "Accept-Language: fr,fr-fr" & vbCrLf & _
    "Accept-Charset: ISO-8859-1,utf-8" & vbCrLf & vEnc & _
    "Cache-Control: Max-age=0" & vbCrLf & _
    "Connection: Close" & vbCrLf & vbCrLf

signaler à un administrateur
Commentaire de Renfield le 08/06/2006 16:31:47 administrateur CS

tout ce que tu as a faire, c'est ajouter le header :

Accept-Encoding: gzip, deflate

et que le serveur en face soit en mesure de te fournir du GZIP...

ensuite, a la reception, teste le content encoding, pour savoir si tu as du gzip entre les mains...

signaler à un administrateur
Commentaire de gogomanu le 08/06/2006 16:33:42

Pardon j'ai oublié, bravo pour ton code, j'ai essayé dans mon programme ça décompresse bien la page google !!!
je devenais fou, je décompressais avec ZLib, avec la fonction uncompress(), et depuis PHP il fallait que je compresse ma page avec gzcompress() pour que ça fonctionne, et bien sûr ça ne marchait pas avec google !

Merci beaucoup ça faisait un bon moment que j'étais sur la décompression !!!

signaler à un administrateur
Commentaire de gogomanu le 08/06/2006 16:35:45

Justement Renfield, teste et tu verras que ça ne suffit pas toujours un accept-encoding, il faut un header correctement formaté, surtout avec certains serveurs moins 'permissifs'.

signaler à un administrateur
Commentaire de Renfield le 08/06/2006 16:46:38 administrateur CS

un header correctement formé ?
tu parles plus haut de modifier le User-Agent...

ce champ est là pour décorer uniquement, aucun serveur digne de ce nom ne doit tirer quelque conclusion que ce soit en s'appuyant sur ce champ

signaler à un administrateur
Commentaire de gogomanu le 08/06/2006 17:04:14

T'es fatiguant Renfield, va tester de toi même, avec le serveur google par exemple, et après reviens nous faire part de ce que tu as trouvé.
La décoration dans les RFC je doute que ça existe. ;-) Après qu'un serveur ignore tel ou tel champ libre à lui.
"Digne de ce nom", ça veut dire quoi ? google est un serveur pourri parce qu'il vérifie ce champ c'est ça ? ;-))))

signaler à un administrateur
Commentaire de Renfield le 08/06/2006 17:33:10 administrateur CS

Je viens de tester, et effectivement (Mea Culpa), si le User-Agent ne ressemble pas de pres ou de loin à :
User-Agent: Mozilla/5.0

google n'envoies pas en gzippé...

je trouve celà lamentable, vraiment... si on dit a google "je comprend le gzip", il ne nous l'enverra que si on porte un nom qui lui plait....
non vraiment, c'est lamentable....

signaler à un administrateur
Commentaire de EBArtSoft le 08/06/2006 19:36:25 administrateur CS

Et oui comme ça on peux affirmer facilement : "Mozilla est plus rapide que IE, testez vous même sur une page Google" ! lol

signaler à un administrateur
Commentaire de gogomanu le 08/06/2006 21:33:01

Mort de rire! ;-)

Peut être que sa réaction en fonction du navigateur est pour faire face à des problèmes du genre:
imaginons, IE4 dit "je connais gzip", mais c'est un vieux gzip (car vieux navigateur), alors google envoie non zippé dans le doute.

Ou alors il vérifie simplement que le format est du genre:
User-Agent: navigateur/version (OS)
...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Compression GZIP [ par vlad2i ] Pour faire court : je cherche un moyen de compresser des données (si possible en mémoire) en utilisant la compression gzip.Mes essais avec zlib n'ont Help VB, requete HTTP [ par Shenron42000 ] Bonjour,Je suis en train de débuter en VB, donc j'ai assez de problèmes...En fait j'aimerai réaliser un programme qui envoi une requête HTTP, en modif propriétés de raccourcis [ par revline7 ] Bonjour,je recherche désespérement où Windows cache les propriétés des raccourcis et favoris.Je suppose que c'est marqué quelque part !!!Par exemple, Propriétés des raccourcis et favoris [ par revline7 ] Bonjour,je recherche désespérement où Windows cache les propriétés des raccourcis et favoris.Je suppose que c'est marqué quelque part !!!Par exemple, transfert de données vers excel + temps de réponse minimal [ par elba ] [img]http://images.google.fr/imgres?imgurl=http://www.cap-senior.com/iso_album/fleur.jpg&imgrefurl=http://www.cap-senior.com/beaute%2520(2).html&h=277 Broken pipe et sockets [ par nono1307 ] J'ai un petit problème :( Je dois faire un serveur HTTP en C avec les sockets. Ce serveur doit gérer l'envoie des images. Or, c'est à ce niveau qu' Hébergement gratuit [ par elscode ] Bonjour,Je vous annonce la reprise des offres d'hébergement gratuites sur http://www.keohosting.netCordialement.Hébergement gratuit : http://www.keoho Hébergement gratuit disponible :-) [ par elscode ] Bonjour,Je vous annonce le reprise des offres d'hébergement gratuites sur http://www.keohosting.netHébergement gratuit : http://www.keohosting.net Relation avec base de donnee du logiciel CIEL [ par chris81 ] bonjour,y'a t'il un moyen pour entrer en relation ou lire une base de donnee issu de ciel?mercihttp://www.tarnweb.comhttp://www.correzeweb.comhttp://w Séparer des zones de texte dans des labels par exemple [ par Robinwood01 ] BonjourJe me remet tout doucement à visual basic. Mais je reste bloqué sur un petit truc. J'ai trouvé pas mal de truc dans les sources mais je n'ai pa


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

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



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.