passer un captcha avec curl - PHP - Programmation
Marsh Posté le 30-08-2010 à 22:04:57
le captcha présenté a ton bot n'est pas le meme que celui que tu vois
Marsh Posté le 31-08-2010 à 00:31:16
pourquoi?
il n'y a aucun captcha présenté à mon bot. lorsque je lance mon script, mon login et mon pass sont stockées dans des vars, il reste donc à saisir le captcha qui du coup n'a été chargé qu'une seule fois et pas deux comme tu le sous-entends. j'envoie ensuite login+pass+captcha en POST sur la page qui traite le form.
je ne te comprends pas.
comment y remédier?
Marsh Posté le 31-08-2010 à 01:07:43
Ton bot ne se connecte pas sur le site avec le même ID de session, donc, pas la même connexion, donc, à mon avis, protection de php...
Marsh Posté le 31-08-2010 à 01:27:47
et donc comment récupérer l'id de session qui vient avec le captcha, et réinjecter cet id de session en POST avec le captcha qui va bien?
Marsh Posté le 02-09-2010 à 10:41:38
à l'aide
bon, voici un bout de code pour prouver ma bonne volonté
Code :
|
Marsh Posté le 02-09-2010 à 10:53:41
Le seul moyen serait de faire wget avec ton bot (ou une copie de l'image avec les fonctions d'image) ainsi ce serait ton bot qui demanderait l'image et ensuite tu n'aurais qu'à l'afficher dans ton navigateur ou sur une page web distante.
D'un autre côté, si il y a un captcha, c'est justement pour éviter l'utilisation des bots donc bon :X
Marsh Posté le 02-09-2010 à 11:09:52
ok je vois le problème.
je viens d'essayer ceci:
Code :
|
sans succès
sinon je me rends compte également qu'il n'y a rien du tout dans mon fichier cookies.txt...
le captcha est là pour éviter le spam & co je pense. je ne cherche pas à nuire, je veux juste me loguer et automatiser un truc que je fais régulièrement.
Marsh Posté le 02-09-2010 à 11:22:47
Si tu veux que ton cookie.txt se remplisse il faut que tu récupère le captcha avec les fonctions curl sinon tu n'auras pas le bon id_session quand ton robot récupérera le captcha.
Même si tu ne cherches pas à nuire, le captcha sert à bloquer tous les robots quel qu'il soit, donc c'est normal que ce ne soit pas simple
Marsh Posté le 02-09-2010 à 12:39:04
ok. je suis parvenu à récuperer le cookie envoyé par le captcha.php. mais quand j'essaye d'envoyer le formulaire ça ne fonctionne pas, le serveur renvoie une erreur 500
voici mon code jusqu'ici:
Code :
|
Marsh Posté le 02-09-2010 à 13:53:38
Utilises
Code :
|
à la place de la fonction copy car sinon tu vas pas récupérer la bonne image (l'image est généré en fonction de l'id_session) et n'oublie pas dans cette commande de préciser ton fonction de cookie (utilises la fonction system)
Marsh Posté le 02-09-2010 à 14:15:35
je ne connais pas la fonction "system"
voilà ce que j'ai fais avec la piste que tu me donnes:
Code :
|
maintenant que j'ai copié l'image en jpg et que j'ai un cookie, j'envoie le formulaire:
Code :
|
et rien. erreur de login.
y'a un problème de cookie ou de session ou de captcha
Marsh Posté le 02-09-2010 à 14:59:58
Oui mais c'est normal faire un fopen c'est comme faire un copy donc c'est normal, il faut que tu copies l'image en même temps que tu récupères la session. Sinon tu récupères la session, et quand tu copies l'image ce n'est pas la même image générée. Pour la fonction system => http://php.net/manual/fr/function.system.php
Marsh Posté le 02-09-2010 à 15:06:43
bah pour l'image normalement c'est ok puisque je fais
Code :
|
puis
Code :
|
donc je n'ouvre pas deux fois l'image, je l'ouvre une seule fois, puis je l'enregistre grace à $result1
non?
et je ne comprends pas pourquoi on parle de system()
Marsh Posté le 02-09-2010 à 17:00:23
bon j'ai réussi a le faire fonctionner, je sais casser un captcha maintenant
tu m'as bien mis sur la piste merci à toi, j'aurais pas compris l'histoire du double chargement du captcha/cookie/session (moi + bot) sans ton aide
Marsh Posté le 03-09-2010 à 10:56:11
Content d'avoir pu t'aider ^^
Marsh Posté le 03-09-2010 à 11:06:36
N'oublie pas de passer ton post en [Résolu]
Marsh Posté le 23-03-2012 à 15:23:35
Bonjour
Pimsa, j'ai le même problème, et je galère depuis plusieurs jours en tentant de le résoudre.
Je n'ai pas saisi ce qui t'a permis de le résoudre. Apparemment, tu as à mettre en place un code qui fonctionne.
Pourrais-tu m'aider ?
Marsh Posté le 03-03-2013 à 20:56:03
bonjour,
je remonte le sujet car j'arrive pas a trouver la solution au probleme
voici ma premiere partie du systeme et appatement c'est la que ça ddoit bloquer
Code :
|
Marsh Posté le 30-08-2010 à 18:15:19
bonjour,
je précise avant tout que je ne cherche pas à produire du spam avec mon script
donc voilà, je souhaite programmer un bot qui va devoir se logguer sur mon panneau utilisateur d'un site distant. je suis tout à fait capable de gérer ça moi-même et je l'ai déjà fait, or ici, légère complication, le formulaire d'identification présente un captcha. je me suis dit bon pas de soucis, j'ai juste à faire sur ma page perso un truc tel que:
donc avec mon script sur ma page perso je n'ai plus qu'à taper le code captcha pour qu'ensuite mon bot se loggue et automatise mes taches sur le site distant. or le code captcha que je saisis est toujours incorrect lorsqu'il est soumis via mon script vers le site distant dont la page traite le formulaire di'dentification. j'ai lu un max d'infos sur google et essayé un max de samples, pas moyen de faire tourner mon script à cause du-dit captcha...
j'ai essayé comme j'ai pu le lire ça et là les "cookiejar" et "cookiefile" tels que:
mais toujours rien...
help?