Récupération de données sur serveur privée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupération de données sur serveur privée

par @rthur » 20 sept. 2008, 19:37

Si tu as un "access denied" c'est que tu ne fais pas correctement ton identification via curl.

Fait un peu de recherche pour apprendre comment utiliser cURL, il y a déjà pas mal de ressources sur le web :
http://dragibus999.blogspot.com/search/label/curl
http://enaresh.com/2008/09/01/curl-tuto ... with-curl/
http://www.oooff.com/php-scripts/basic- ... torial.php
http://www.higherpass.com/php/Tutorials ... e-Servers/
http://www.phpgfx.com/article.php?action=read&id=32

Récupération de données sur serveur privée

par Djérome » 20 sept. 2008, 18:33

UP :)

Récupération de données sur serveur privée

par Djérome » 19 sept. 2008, 15:20

Bon, y'a un truc qui va pas, maintenant, j'ai un accès denied.

J'ai pourtant bien rajouté les informations necessaires...

Quand je m'identifie, je suis à la page : www.monsite.com/admin
Quand je valide le formulaire d'identificatio, je me retrouve à l'adresse suivante : www.monsite.com/admin/client.asp.

Qui gère la redirection ? Curl, ou moi ?

Désolé si mes questions paraissent idiotes.
Jérôme

Récupération de données sur serveur privée

par Djérome » 19 sept. 2008, 09:18

Bonjour @rthur,

Alors, le premier lien, http://login:[email protected] ne fonctionne pas, mozilla me change le lien, et IE m'affiche une page non valide.

Je regarde les liens que tu m'as donné, et je vous tiens au courant
Jérôme

Re: Récupération de données sur serveur privée

par @rthur » 18 sept. 2008, 20:27

sur le site en question, mon script me retourne la page "access denied". Donc mon script, même si l'url est complète, reste bloqué à la page d'authentification.
Donc ton script cURL ne fonctionne pas ;-)

Donc la première chose à faire c'est de trouver comment s'effectue l'identification:
:arrow: Est-ce une boite de dialogue système qui s'ouvre pour te demander un login et mot de passe ou est-ce un simple formulaire HTML?
- Dans le premier cas, supprime tes cookie, redémarre ton navigateur et essaye d'accéder à ta page avec l'url http://TON_LOGIN:[email protected]/admin. Si tu y arrives sans qu'ils te demandent d'autre mot de passe, alors c'est génial et il faudra alors que tu utilises une url sous cette forme dans curl- Dans le second cas, c'est plus complexe, il faut dans la même session curl d'abord t'identifier et ensuite demander la page avec les infos clients.
Voila pour le principe, pour le mettre en oeuvre, il existe un paquet d'exemple sur Google:
http://devzone.zend.com/node/view/id/1081
http://www.google.fr/search?q=curl+http+identification
Sinon pour récupérer les données, je vois pas comment faire en PHP, tu utiliserais un parseur DOM ? Ou SAX ?
Hummm ni l'un, ni l'autre.
Personnellement un coup de preg_match() (ou de preg_match_all() si tu as plusieurs clients sur la même page) avec une bonne expression régulière et ça devrait faire le truc.

Récupération de données sur serveur privée

par Djérome » 18 sept. 2008, 19:58

Bonsoir,

Désolé du temps de réponse, j'ai pas eu le temps de me remettre sur le problème aujourd'hui.

Pour répondre à ta question arthur, oui mon script fonctionne, avec google, ou n'importe quel site, je récupère bien le code source.

Maintenant, sur le site en question, mon script me retourne la page "access denied". Donc mon script, même si l'url est complète, reste bloqué à la page d'authentification.
Sinon pour récupérer les données, je vois pas comment faire en PHP, tu utiliserais un parseur DOM ? Ou SAX ?

Merci pour vos aides

Re: Récupération de données sur serveur privée

par @rthur » 17 sept. 2008, 17:05

Le script fonctionne, mais je m'éloigne de mon idée initiale. D'où mon intervention ici. Si le script pouvait me retourner un tableau, où un affichage le plus simple possible pour que je puisse réenregistrer ces données directement dans une Bdd.
Ton script curl fonctionne, c'est à dire que tu récupères bien le code source des pages et dans ce code source les infos que tu veux récupérées?

Si c'est le cas, alors il faut que tu mettes en place une expression régulière pour ne conserver que les infos intéressantes et ensuite tu pourras présenter ces infos sous la forme que tu veux (tableaux HTML ou même réinsertion directe dans une nouvelle base de données sous ton contrôle).

Si tu ne récupères pas le code source HTML avec les infos de tes clients dedans, alors c'est que ton script cURL ne fonctionne pas correctement et qu'il faut le corriger.

Récupération de données sur serveur privée

par Djérome » 17 sept. 2008, 16:39

Merci arthur pour ta réponse,

Il n'y a pas de problème pour le code PHP :
<?php
/* Partie Création de cookie */
//setcookie ("login","contenu",(date()+3600));

/* Partie Curl */
for ($i=0;$i<697;$i++) {
	$ch = curl_init();
	$timeout = 5;
	curl_setopt($ch, CURLOPT_URL, 'www.monsite.com/admin/client.asp?id=115');
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
	$file_contents = curl_exec($ch);
	curl_close($ch);
	$lines = array();
	$lines = explode("\n",$file_contents);

	foreach($lines as $line_num => $line) {
		echo "Line # {$line_num} : ".htmlspecialchars($line)."<br/>\n";
	}
}
?>
Le script fonctionne, mais je m'éloigne de mon idée initiale. D'où mon intervention ici. Si le script pouvait me retourner un tableau, où un affichage le plus simple possible pour que je puisse réenregistrer ces données directement dans une Bdd.

Merci pour vos aides.
Jérôme

par @rthur » 17 sept. 2008, 15:07

La seule solution que je vois en PHP alors est d'utiliser cURL couplées à des expressions régulières.

Vu que tu as déjà essayé cURL mais que tu rencontres un problème d'identification, c'est que tu ne l'utilises pas correctement.
Donne nous le code PHP que tu utilises pour que l'on puisse voir ce que tu pourrai avoir oublié.

Récupération de données sur serveur privée

par Djérome » 17 sept. 2008, 14:04

Non, aucun moyen, sinon j'aurai imprimer la page, et on serait débrouillé avec.

Ca, c'est géré au niveau PHP je pense, la page sélectionne 10 requètes, puis 10 la page suivante, etc etc...

Par contre, j'ai bien un lien, d'où mon poste précédent, avec un changement d'id. J'ai donc réalisé ma boucle for, sans problème, mais j'ai les problèmes de connexion... :(

Jérôme

par _activmik » 17 sept. 2008, 11:38

Tu n'as pas une option d'affichage qui te mettrais tout sur une page ?

Parce que 700 pages comme tu dit c'est une méthode d'affichage, dans l'absolu tu peux mettre dans une même page.

Et sinon, si chacune de tes pages se nomment xxxx?id=23 tu peux toujours faire une boucle avec en variable la partie id :wink:

Récupération de données sur serveur privée

par Djérome » 17 sept. 2008, 11:34

Merci pour tes réponses, et le temps que tu y consacres.

il existe donc pas un moyen de copier coller le code source, des 700 pages, avec un script ? Parce que clique + clique + ctrl p + retour + clique + clique + ctrl p.... * 700, je vais m'amuser moi, surtout qu'après, faut remettre tout ça dans un logiciel à part... :'(

Surtout qu'ASP, je connais pas du tout, mais pas du tout :)

par _activmik » 17 sept. 2008, 11:20

Même si tu n'as pas de traces que ce soit de l'ASP, il faudrait que tu en sois sûr.
Le traitement est différent qu'avec PHP.

Mais je crains que PHP ou ASP, si tu n'as pas un accès direct à la base cela va être dur.
La solution réside surement dans un traitement de fichier.


Bref, si c'est de l'ASP on continuera cette discussion en MP.

Récupération de données sur serveur privée

par Djérome » 17 sept. 2008, 11:01

Merci pour ta réponse.

Alors, j'ai ressortis la pile de dossier qu'on a :)

Je répète exactement les lignes que j'ai trouvé dans le contrat :
* SERVEUR
- Les outils de ces bases de données sont développés en SQL ou ACCESS et l'affichage est traité sous langage ASP de windows
- L'architecture des bases de données est MySQL
* UTILISATION
- L'interface utilisateur est appelé S.A.M. Aucune connaissance informatique n'est demandé.
* CONTRAT
- L'ensemble des informations apportés par le client, de quelque nature et sous quelque format que ce soit, reste la propriété du client.

Voila, pour les septiques :)
Merci pour vos réponses les gars.

Ps : Juste une chose, l'affichage est traité par ASP (?) mais de mon côté, j'ai simplement des pages HTML, et dans l'url, pas de traces d'ASP (au moins pour les clients) car le reste, j'ai 4/5 pages par catégories, plus simple pour moi d'imprimer :)
PPs : Après une petite recherche sur le net, l'outil de visualisation qu'on utilise est quasiment identique à WebMaker, mais je trouve pas de "copyright" ou quelque chose qui stipule l'utilisation de celui-ci, alors je me trompe surement, mais ça vous donne une idée

Jérôme

par _activmik » 17 sept. 2008, 10:21

Ok, mais c'est ce que j'avais compris :D


Et cette base tu sais ce que c'est ? MySQL ? Oracle ? As400 ?