Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/06/2008, 15h49   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 26
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 26
Points : 14
Points : 14
Par défaut Récupérer un flux HTML derrière un PROXY

Bonjour à tous,

Voilà, j'utilise le code suivant pour récupérer un flux HTML (ce code fonctionne nickel SANS proxy) :

Code :
1
2
3
4
5
 
<?
  $query = join("",file("http://www.toto.com"));
  echo $query;
?>
Cependant, chez le client ca ne fonctionne pas et pour cause, il se trouve derrière un proxy (standard port 80).

Existe-t-il un moyen de préciser à mon stream de passer par le proxy (puisque je fais du HTTP) ?


Merci de votre aide

nineosoe (Fabrice)
nineosoe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h28   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Il faut créer un contexte d'abord (possible uniquement avec les versions 5) et préciser les options voulues par rapport au protocole utilisé :
Code :
1
2
3
4
5
6
7
8
9
<?php
$opts = array(
    'http' => array(
        'proxy' => 'tcp://proxy.example.com:80'
    )
);
 
$contexte = stream_context_create($opts);
$query = join("", file("http://www.toto.com", 0, $contexte));
(enfin y a l'idée)
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h36   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 26
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 26
Points : 14
Points : 14
En cherchant (mieux ) j'ai trouvé s/PHP.NET :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
  $default_opts = array(
  'http'=>array(
      'method'=>"GET",
      'header'=>"Accept-language: en\r\n" . 
      "Cookie: foo=bar",
      'proxy'=>"tcp://10.12.34.56:80"
    )
  );
 
$default = stream_context_get_default($default_opts);
$query = readfile('http://www.toto.com');
Et ca fonctionne...
nineosoe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h39   #4
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 26
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 26
Points : 14
Points : 14
Trop fort julp et merci encore. Tu me donne une fonction de contexte plus pratique encore.
nineosoe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h18.


 
 
 
 
Partenaires

Hébergement Web