Как скопировать картинку на localhost из за PROXY

Tor

Новичок
а как ты скажешь сору(), что нужно через прокси ходить?
 

Sandr

Guest
хорошо - не скажу
тогда просто помоги написать правильно функцию !
 

nikit87

Новичок
Первоначальные HTTP/1.1 сервера ДОЛЖНЫ учитывать, что точный
ресурс, идентифицированный интернет-запросом определяется
исследованием как Request-URI, так и поля заголовка Host.

Первоначальный сервер, который не позволяет ресурсам отличаться по
запрошенному хосту (host), МОЖЕТ игнорировать значение поля
заголовка Host.

Первоначальный сервер, который различает ресурсы, основанные на
запрошенном хосте (иногда называемые виртуальными хостами или
vanity hostnames) ДОЛЖЕН использовать следующие правила для
определения запрошенного в HTTP/1.1 запросе ресурса:

1. Если Request-URI - это absoluteURI, то хост - это часть
Request-URI. Любое значение поля заголовка Host в запросе
ДОЛЖНО игнорироваться.

2. Если Request-URI - не absoluteURI, а запрос содержит поле
заголовка Host, то хост определяется значением поля
заголовка Host.

3. Если хоста, определенного правилами 1 или 2 не существует на
сервере, код состояния ответа ДОЛЖЕН быть 400 (Испорченный
Запрос, Bad Request).
Как я понимаю Должно игнорироваться)) но не всегда игнорируеться) т.е. зависит от сервака

-~{}~ 22.06.05 13:24:

Это просто из-за прокси сервера. прямой запрос проходит и с любым значением host
 

Tor

Новичок
начать надо было с того, что в 'HTTP 1.0' (rfc1945), нет никакого "Host:"
 

Sandr

Guest
так ?
PHP:
$url="GET $proxy_url HTTP/1.0\r\nHost: $proxy_name\r\nContent-Type: image/jpg\r\nContent-Transfer-Encoding: binary\r\n";
 

Фанат

oncle terrible
Команда форума
во-первых, я приношу свои извинения Tor и Sandr.
во-вторых, какой, всё-таки, адрес у прокси-сервера - 194.67.2.155 или 192.168.0.101 ?
в-третьих, не может ли быть проблема в том, что протокол указывается HTTP/1.0 ,а не 1.1?
 

Sandr

Guest
запрос[q]GET http://images.amazon.com/images/P/630294905X.01.LZZZZZZZ.jpg HTTP/1.1 Host: 192.168.0.101 [/q]
ответ
[q]
HTTP/1.0 400 Bad Request Server: AkamaiGHost Mime-Version: 1.0 Content-Type: text/html Content-Length: 187 Expires: Wed, 22 Jun 2005 09:43:42 GMT Date: Wed, 22 Jun 2005 09:43:42 GMT Connection: close
Invalid URL
The requested URL "/images/P/630294905X.01.LZZZZZZZ.jpg", is invalid.[/q]

-~{}~ 22.06.05 13:45:

Автор оригинала: Фанат
отлично, а первый адрес - это что?
то был пример взятый для поста!
(пробовал раньше и код не сохранился - позже написал заново)
 

Tor

Новичок
GET /images/P/630294905X.01.LZZZZZZZ.jpg HTTP/1.1 Host: 192.168.0.101

так пробовал?
 

Фанат

oncle terrible
Команда форума
Tor вот так как раз будет неправильно.
на прокси сервере нет веб-сервера с ури /images/P/630294905X.01.LZZZZZZZ.jpg
писать надо как раз aboluteURI, а я этого не знал
 

Tor

Новичок
Фанат
почему не правильно?
насколько понятно из rfc, такое должно работать
а уж попробовать так точно ничего не мешает
 

Фанат

oncle terrible
Команда форума
так хост тогда надо указывать внешений.
а строка GET /images/P/630294905X.01.LZZZZZZZ.jpg HTTP/1.1 Host: 192.168.0.101
не имеет смысла.
как прокси сервер на адресе 192.168.0.101 узнает, с какого хоста брать /images/P/630294905X.01.LZZZZZZZ.jpg ?
 

Sandr

Guest
PHP:
    $fp = fsockopen($proxy_name, $proxy_port) or die("Can't");
    if ($fp) { echo('Conncted'); }

    $url="GET 'http://images.amazon.com/images/P/630294905X.01.LZZZZZZZ.jpg' HTTP/1.1\r\nHost: images.amazon.com\r\nContent-Transfer-Encoding: binary\r\n\r\n";
    fputs($fp,$url);
HTTP/1.1 200 OK Server: Apache Last-Modified: Thu, 01 Jan 1970 00:16:22 GMT Content-Type: image/gif Content-Length: 807 X-Junk: xxx Date: Wed, 22 Jun 2005 10:21:58 GMT Connection: close GIF89a



A почему GIF и файл все равно 1003 байта а исходник 36кб

-~{}~ 22.06.05 14:26:

а вот - Content-Length: 807

-~{}~ 22.06.05 14:48:

ну что нет умных людей ?
 
Сверху