Bonjour,
C'est après pas mal de recherches que je me permets de venir vous solliciter pour un peu d'aide.
Je ne suis pas certain que ce soit le bon forum mais étant un débutant , j'ai préféré choisir cette section.
Je vais tacher d'être clair dans l'exposer de mon problème mais si par hasard ça ne l'était pas, n'hésitez pas à me demander des précisions.
Je suis en train de réaliser une application intranet qui aura pour but de scraper le contenu de deux sites de ticketings afin d'en extraire les incidents importants et les réafficher sous une mise en forme différente.
Je tente d'utiliser curl.
J'ai installer un wamp sur un serveur 2012 dont je suis admin le tout sur le réseau interne de mon entreprise.
Qui dit réseau interne dit proxy.
Je rencontre quelques soucis pour récupérer le contenu des sites visées.
Après quelques tests, j'ai été en mesure via console de réussir à récupérer le contenu souhaité.
La commande utilisée est la suivante:
J'ai donc ensuite tenté de traduite cette commande en php et c'est là où tout s'écroule et je ne comprend pas le pourquoi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part c:\curl\curl.exe -U : --proxy-ntlm --proxy Monproxy:8080 -L Monsitedeticketing
Je tiens a préciser que j’accède sans problème a la page si je tape son adresse directement dans mon navigateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'monsite'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_NTLM); curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_TIMEOUT, 0); curl_setopt($ch, CURLOPT_USERPWD, ':'); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0); curl_setopt($ch, CURLOPT_PROXY, 'Monproxy'); curl_setopt($ch, CURLOPT_PROXYUSERPWD, ':'); curl_setopt($ch, CURLOPT_VERBOSE, true); $data = curl_exec($ch); if( $data === false){ echo 'Erreur Curl : ' . curl_error($ch) .curl_errno($ch); } else { echo 'L\'opération s\'est terminée sans aucune erreur'; } curl_close($ch); echo $data ; ?>
Mon problème est que cela ne me retourne rien et je ne sais plus dans quelle direction chercher.
J'ai également tenté de passer par la fonction php exec():
=> Pour ce cas je crois qu'il s'agit d'un problème de droit d'apache mais je n'ai pas la moindre idée de comment le régler.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $data = ("c:\\curl\\curl.exe -U %USER%:%PASSWORD% --proxy-ntlm --proxy Monproxy -L monsite"); $data = exec( $data ); echo $data ; ?>
Et là aussi j'essuie un cuisant échec.
Quelqu'un aurait il une idée du problème?
Partager