S'enregistrer | Rechercher | FAQ | Liste des Membres | Groupes d'utilisateurs | Connexion

  Nom d'utilisateur:    Mot de passe:       

  

Poster un nouveau sujet   Répondre au sujet Page 1 sur 1
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
MessagePosté le: Jeu Mai 16, 2013 10:52 pm    Sujet du message: bot php curl Répondre en citant

TAMTAM
Projets


 
Inscrit le: 15 Oct 2012
Messages: 9



bonjour tt le monde
en ce momment je travail sur un projet tuteure, une app qui doit collecte des infos sur twitter et les represente avec un jgraph, j developpe un bot avec l'api de twitter , le hic c qu'on est extrêmement limite niveau roquette (150 par heure), en plus de ça l api retourne moins de résultat que prévue ( une histoire d adresse ip partage avec des sites internet derrière le proxy du fournisseurs ) donc je me suis met a développer un bot en dure , (vos imaginez la suite) ca marche pas ni pour twitter ni même sur le forum d’ailler ,c bizzare mais je commence a dote de curl , car par exemple , sur des site , je peut passer des arguments sa marche , mais des qu il s agit de poster des formulaire , rien de rien , je vous poste le code , vous en pensez quoi ?
merci par avance




Code:


<?php

 
curl_login('http://hackbbs.org/login.php','login=tamtam&password=*******&Connexion=Connexion','','off' );
echo curl_grab_page ('http://hackbbs.org/index.php','','off');
echo "hhhhhhhhhhhhhhhhh";




function curl_login ($url, $data, $proxy , $proxystatus){
 
  $fp = fopen("cookie.txt", "w");
  fclose ($fp);

  $login = curl_init();
  curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
  curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
  curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/5.0;
  curl_setopt($login, CURLOPT_TIMEOUT, 40);
  curl_setopt($login, CURLOPT_RETURNTRANSFER, true);

  if ($proxystatus == 'on'){

            curl_setopt($login, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($login, CURLOPT_HTTPPROXYTUNNEL, true);
            curl_setopt($login, CURLOPT_PROXY, $proxy);         


              }


  curl_setopt($login, CURLOPT_URL, $url);
  curl_setopt($login, CURLOPT_HEADER, true);
  curl_setopt($login, CURLOPT_USERAGENT, $_SERVER ['HTTP_USER_AGENT']).
  curl_setopt($login, CURLOPT_FOLLOWLOCATION, true);
  curl_setopt($login, CURLOPT_POST, true);
  curl_setopt($login, CURLOPT_POSTFIELDS, $data);
  ob_start();
  return curl_exec($login);
  ob_end_clean();// stop preventing output
  curl_close($login);
  unset($login);

}

function curl_grab_page ($site, $proxy, $proxystatus){

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  if ($proxystatus == 'on') {
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);

  }
  curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  curl_setopt($ch, CURLOPT_URL, $site);
  ob_start();
  return curl_exec($ch);
  ob_end_clean();
  curl_close ($ch);


}

?>


Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Ven Mai 17, 2013 10:49 am    Sujet du message: Répondre en citant

SHEPSHEP
Projets


 
Inscrit le: 08 Avr 2009
Messages: 268
Localisation: /dev/null



Salut TAMTAM,

Une petite présentation aurait été top...

Déjà à vue d’œil c'est coqué ici : curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/5.0;

Je regarde plus en détail dès que j'ai un peu de temps.
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur
MessagePosté le: Ven Mai 17, 2013 10:57 am    Sujet du message: Répondre en citant

SHEPSHEP
Projets


 
Inscrit le: 08 Avr 2009
Messages: 268
Localisation: /dev/null



Si ton problème de syntaxe n'est pas un problème de copier/coller, utilise un éditeur PHP digne de ce nom qui te parsera ton code et lèvera les erreurs de syntaxe (NetBeans7.3 =>hxxps://netbeans.org/downloads/).

Sinon, je viens de tester ton code et il fonctionne ...
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur
MessagePosté le: Lun Mai 20, 2013 12:41 pm    Sujet du message: Répondre en citant

TAMTAM
Projets


 
Inscrit le: 15 Oct 2012
Messages: 9



bonjour
merci pour la suggestion netbeans , je l'utilise déjà pour swing sous java , et j'ai suivi ton conseil pour php, une seule chose a dire, c top Wink

sinon pour le code en effet avec un echo derrière la fonction curl_login() ça fonction , car avec l'autre fonction curl_grab() ça pose problème au niveau de cookie (sur le site y on a pas )
par contre le problème se pose toujours sur la page d'accueil de twitter , je capture la trame de requête http (je me connect avec firefox) sur la page de la session , je met les même paramètre dans le code , pourtant rien se passe Question Question Question

Code:



<?php

curl_login('https://twitter.com/sessions','session%5Busername_or_email%5D=projettwitt&session%5Bpassword%5D=*******&remember_me=1&return_to_ssl=true&scribe_log=&redirect_after_login=%2F&authenticity_token=0a55a93cef22e8f308a824ba95cdcb2c92ac8440','','off' );
echo "hhhhhhhhhhhhhhhhhc";
echo curl_grab_page ('https://twitter.com/','','off');
echo "hhhhhhhhhhhhhhhhh";




function curl_login ($url, $data, $proxy , $proxystatus){
 
  $fp = fopen("cookie.txt", "w");
  fclose ($fp);

  $login = curl_init();
  curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
  curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
  curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0");
  curl_setopt($login, CURLOPT_TIMEOUT, 40);
  curl_setopt($login, CURLOPT_RETURNTRANSFER, true);

  if ($proxystatus == 'on'){

            curl_setopt($login, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($login, CURLOPT_HTTPPROXYTUNNEL, true);
            curl_setopt($login, CURLOPT_PROXY, $proxy);         


              }


  curl_setopt($login, CURLOPT_URL, $url);
  curl_setopt($login, CURLOPT_HEADER, true);
  curl_setopt($login, CURLOPT_USERAGENT, $_SERVER ['HTTP_USER_AGENT']).
  curl_setopt($login, CURLOPT_FOLLOWLOCATION, true);
  curl_setopt($login, CURLOPT_POST, true);
  curl_setopt($login, CURLOPT_POSTFIELDS, $data);
  ob_start();
  return curl_exec($login);
  ob_end_clean();// stop preventing output
  curl_close($login);
  unset($login);

}

function curl_grab_page ($site, $proxy, $proxystatus){

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  if ($proxystatus == 'on') {
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);

  }
  curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  curl_setopt($ch, CURLOPT_URL, $site);
  ob_start();
  return curl_exec($ch);
  ob_end_clean();
  curl_close ($ch);


}


plus bizzare encore , le fichier cookie.txt est tjrs vide Exclamation Question
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mar Mai 21, 2013 6:45 pm    Sujet du message: Répondre en citant

TAMTAM
Projets


 
Inscrit le: 15 Oct 2012
Messages: 9



bonjour

j'ai du nouveau

ca y est , j arrive a me connecte et mĂŞme a remplir le fichier cookie.txt
ca marche sur facebook , enfin quand il décident de pas mettre de captcha, mais reste un problème, ça marche pas sur twitter , ça me retourne une réponse bizarre avec une erreur

Code:
HTTP/1.1 302 Found cache-control: no-cache, no-store


une histoire de cache , vraiment étrange Shocked , en tous cas je sèche sur ce coup la aussi, si vos avez des pistes.
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mer Mai 22, 2013 7:23 am    Sujet du message: Répondre en citant

SHEPSHEP
Projets


 
Inscrit le: 08 Avr 2009
Messages: 268
Localisation: /dev/null



Salut,

Le code HTTP 302 signale une redirection.

Cache-control est une entĂŞte HTTP.
"no-cache" spécifie qu'aucun cache (proxy, navigateur) ne doit être utilisé.
"no-store" spécifie que la requête et son résultat ne doivent pas être mises en cache.

Un peu de doc : hxxp://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9

Sinon, je ne vois pas trop se qui déconne, vérifie bien ton url, dump ton objet curl ...

++
2ShEp
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur
MessagePosté le: Jeu Mai 23, 2013 5:37 pm    Sujet du message: Répondre en citant

TAMTAM
Projets


 
Inscrit le: 15 Oct 2012
Messages: 9



salut shepshep et bonjour a tt le monde

d abord merci Wink mec de t' intéresse a se problème, qui m'empeche de dormir (jour de soutenance approche) , je met le code complet , par contre pour que ça marche , il faut capturer les trame http soit avec http requete sous firefox soit avec fiddler2 (mon préféré ) est ceci afin de remplir les champs de la fonction curl_login()

capture d'ecran de ce qui ce passe une fois que j'ai lance le code
http://imagik.fr/view/28955 (l image est a cote il faut agrandir)

la je donne le code qu'on vois la haut sur la page

Code:
   

HTTP/1.1

302 Found cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0 content-length: 156 content-type:
text/html; charset=utf-8 date: Thu, 23 May 2013 15:17:23 GMT expires: Tue, 31 Mar 1981 05:00:00 GMT last-modified: Thu, 23 May 2013 15:17:23 GMT
location: https://twitter.com/login/error?redirect_after_login=%2F&username_or_email=projettwitt pragma:
 no-cache server: tfe set-cookie: _twitter_sess=BAh7CSIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsGOgtub3RpY2VDOhdUcmFuc2xh
dGFibGVTdHJpbmciRU1hdXZhaXNl%250AIGNvbWJpbmFpc29uIGRlIE5vbSBkJ3V0aWxpc2F0ZXVyL0VtYWlsIGV0IG1v%250AdCBkZSBwYXNzZS4GOgpAdXNlZHsGOwZUOgxjc3JmX2lkIiV
hOTdiYzQ3Mjg2%250AYmNlZmY4ODAxMGZmOTMyNzlmYTI1MjoHaWQiJTRkYWYwOTZkYzVkZGNjMTlj%250AYzRkYjExNjA1MDE3ZWNjOg9jcmVhdGVkX2F0bCsIwUT30T4B--227f8ebe349f
8156911e775310afe54cd503a904;
domain=.twitter.com; path=/; HttpOnly set-cookie: guest_id=v1%3A136932224325184275; Domain=.twitter.com; Path=/; Expires=Sat, 23-May-2015 15:17:23 UTC status:

302 Found strict-transport-security: max-age=631138519 vary: Accept-Encoding x-frame-options: SAMEORIGIN x-mid: 020ba29ff29dba15505fc1dae0931184881dfc8e x-transaction:
a1a173c846f5a858 x-ua-compatible: IE=9,chrome=1 x-xss-protection: 1; mode=block HTTP/1.1

200 OK cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
 content-length: 45739 content-type: text/html; charset=utf-8 date: Thu, 23 May 2013 15:17:23 GMT etag: "b77f4c4c96d76f8d6b439b4a4264e63b" expires: Tue, 31 Mar 1981 05:00:00 GMT last-modified:
Thu, 23 May 2013 15:17:23 GMT pragma: no-cache server: tfe set-cookie: _twitter_sess=BAh7CSIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7ADoHaWQiJTRkYWYwOTZkYz
VkZGNjMTljYzRkYjEx%250ANjA1MDE3ZWNjOgxjc3JmX2lkIiVhOTdiYzQ3Mjg2YmNlZmY4ODAxMGZmOTMy%250ANzlmYTI1MjoPY3JlYXRlZF9hdGwrCMFE99E%252BAQ%253D%253D--b79ec5bb6a7579172e102d91608151d2d119d985;
domain=.twitter.com; path=/;

HttpOnly status: 200 OK strict-transport-security: max-age=631138519 vary: Accept-Encoding x-frame-options: SAMEORIGIN x-mid: c86b5e5a491d1e518704442571330c587e64f81f x-runtime:
0.04756 x-transaction: 010fd0cd53a53784 x-ua-compatible: IE=9,chrome=1 x-xss-protection: 1; mode=block





le code php


Code:
 
<?php

echo curl_login('https://twitter.com/sessions','session%5Busername_or_email%5D=projettwitt&session%5Bpassword%5D=*********&return_to_ssl=true&scribe_log=&redirect_after_login=%2F&authenticity_token=e438a9f55fg4t75t8tht2c1dc1b0f9b89mla','','off' );
echo "hhhhhhhhhhhhhhhhhc";
//echo curl_grab_page ('https://twitter.com','','off');
echo "hhhhhhhhhhhhhhhhh";





function curl_login ($url, $data, $proxy , $proxystatus){
 
  $fp = fopen("cookie.txt", "w");
  fclose ($fp);

  $login = curl_init();
 
  curl_setopt($login, CURLOPT_COOKIEJAR, realpath("./cookie.txt"));
  curl_setopt($login, CURLOPT_COOKIEFILE,realpath("./cookie.txt"));
  curl_setopt($login, CURLOPT_SSL_VERIFYPEER, false);
  //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rb v:21.0) Gecko/20100101 Firefox/21.0");
  curl_setopt($login, CURLOPT_TIMEOUT,100000);
  curl_setopt($login, CURLOPT_RETURNTRANSFER, true);

  if ($proxystatus == 'on'){

            curl_setopt($login, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($login, CURLOPT_HTTPPROXYTUNNEL, true);
            curl_setopt($login, CURLOPT_PROXY, $proxy);         


              }

             
   
             
  curl_setopt($login, CURLOPT_URL, $url);
  curl_setopt($login, CURLOPT_HEADER, true);
 
   
 
  curl_setopt($login, CURLOPT_USERAGENT, $_SERVER ['HTTP_USER_AGENT']).
  curl_setopt($login, CURLOPT_FOLLOWLOCATION, true);
  curl_setopt($login, CURLOPT_POST, true);
  curl_setopt($login, CURLOPT_POSTFIELDS, $data);
  ob_start();
  return curl_exec($login);
  ob_end_clean();// stop preventing output
  curl_close($login);
  unset($login);

}

function curl_grab_page ($site, $proxy, $proxystatus){

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  if ($proxystatus == 'on') {
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);

  }
  curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  curl_setopt($ch, CURLOPT_URL, $site);
 
  return curl_exec($ch);
 
  curl_close ($ch);


}



sinon je pense que je suis pas loin , j tous met en curl , surtout l option pour le https et les redirections , le fichier cookie se remplie bien ....etc
il y a juste cette histoire de cache sans oublie ( c sur l'image ) sa me met un message bizare du genre comme quoi il y a une erreur de combinaison entre le mot de passe et le login Question Question Question Question

a toute Smile
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Lun Mai 27, 2013 5:07 pm    Sujet du message: Répondre en citant

TAMTAM
Projets


 
Inscrit le: 15 Oct 2012
Messages: 9



Up Sad Exclamation
Personne n Ă  une piste Question Question Question
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Lun Mai 27, 2013 7:20 pm    Sujet du message: Répondre en citant

TorTukiTu
Site Admin


 
Inscrit le: 07 Fév 2008
Messages: 1960
Localisation: Devant son pc durant la redaction de ce message



A mon avis,

Code:
authenticity_token=e438a9f55fg4t75t8tht2c1dc1b0f9b89mla


A mon avis, ca en dur c'est pas normal...

Essaye de d'abord récupérer un token valide en chargeant une premiere fois la page avant de réaliser ton authentification.

Tortue 974.
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur Compte AIM MSN Messenger Numéro ICQ
MessagePosté le: Mer Mai 29, 2013 8:50 pm    Sujet du message: Répondre en citant

TAMTAM
Projets


 
Inscrit le: 15 Oct 2012
Messages: 9



bien joue , en effet le token est généré aléatoirement ,lui renvoyé un autre de différent serait effectivement bizarre , merci tortu Very Happy
Voir le profil de l'utilisateur Envoyer un message privés
Poster un nouveau sujet   Répondre au sujet Page 1 sur 1

  


 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum



110076 Attacks blocked