URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4787
[ Назад ]

Исходное сообщение
"получаем файл через прокси"

Отправлено GHopper , 19-Мрт-07 10:36 
Здравствуйте!
Веб-сервер стоит за проксей. Нужно с сервера иметь доступ к ресурсам сети.

<?php
$proxy_url = "http://www.ya.ru"; //хочу получить текст этой страници
$proxy_name = 'STARGATE'; //прокси
$proxy_port = 80; //порт
$proxy_cont = '';

$fp = fsockopen($proxy_name, $proxy_port, $errno, $errstr, 30);
if (!$fp) {
  echo "$errstr ($errno)<br>\n";
} else {
  fputs ($fp, "GET $proxy_url HTTP/1.0\r\nHost: $proxy_name\r\n\r\n");
  echo fgets ($fp, 256);
  fclose ($fp);
}
?>

выдает:

HTTP/1.0 404 Object Not Found (The system cannot find the path specified. )

Чего делать-то?


Содержание

Сообщения в этом обсуждении
"получаем файл через прокси"
Отправлено domas , 20-Мрт-07 16:17 
Держи рабочий пример.

<?
function proxy_url($proxy_url)
{
   $proxy_name = 'proxy.local.net';
   $proxy_port = 3128;
   $proxy_cont='';
   $proxy_fp = fsockopen($proxy_name, $proxy_port);
   if (!$proxy_fp) { return false; }
   fputs($proxy_fp, "GET $proxy_url HTTP/1.0\r\n\n");
   while(  !feof($proxy_fp)  )     {  $proxy_cont .= fread($proxy_fp,4096);  }
   fclose($proxy_fp);
   $proxy_cont = substr( $proxy_cont, strpos($proxy_cont,"\r\n\r\n")+4 );
   return $proxy_cont;
}

$url='http://www.ya.ru';
print proxy_url($url);
?>


"получаем файл через прокси"
Отправлено GHopper , 21-Мрт-07 05:29 
Чут-чуть модифицировал функцию:

function proxy_url($proxy_url)
{
   $proxy_cont='';
   $proxy_name = 'STARGATE';
   $proxy_port = 80;
   $proxy_fp = fsockopen($proxy_name, $proxy_port, $errno, $errstr, 30);
   if (!$proxy_fp) {
    echo "$errstr ($errno)<br>\n";
    return false;
   }
   fputs($proxy_fp, "GET $proxy_url HTTP/1.0\r\n\n");
   while(  !feof($proxy_fp)  )     {  $proxy_cont .= fread($proxy_fp,4096);  }
   fclose($proxy_fp);
   $proxy_cont = substr( $proxy_cont, strpos($proxy_cont,"\r\n\r\n")+4 );
   return $proxy_cont;
}

$url='http://www.ya.ru';
print(proxy_url($url));

В ответ получил:
Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. (10060)

Идти админа пинать или моя проблема?


"получаем файл через прокси"
Отправлено domas , 21-Мрт-07 08:20 
>Идти админа пинать или моя проблема?
Незнаю админа или не админа, но скрипт(твой модифицированный) рабочий -- только что проверил.


"получаем файл через прокси"
Отправлено Aess , 22-Мрт-07 13:55 
>>Идти админа пинать или моя проблема?
>Незнаю админа или не админа, но скрипт(твой модифицированный) рабочий -- только что
>проверил.

Попинай админа пущай те проброску кинет натовскую на ентот сервак.