Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка "302 Moved Temporarily", вместо текста, получаемого fgets 
:(
    Опции темы
AmraKimmerian
Дата 11.1.2010, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



С помощью fgets получаю html-разметку в переменную. Раньше получал. А теперь пишет (вместо адресов я вставил троеточия):

Цитата

HTTP/1.1 302 Moved TemporarilyServer: nginx/0.8.29Date: Mon, 11 Jan 2010 16:03:38 GMTContent-Type: text/htmlConnection: closeX-Powered-By: PHP/5.2.11Set-Cookie: returnPath=http%3A%2F%2F....ru/...; path=/; domain=.....ruLocation: https://....ru/login?gateway=true&service=http://....ru/...


Объясните, пожалуйста, что это значит? 

Это сообщение отредактировал(а) AmraKimmerian - 11.1.2010, 19:21
PM MAIL   Вверх
IgorIV
Дата 11.1.2010, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



PM MAIL   Вверх
AmraKimmerian
Дата 12.1.2010, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



Ну хорошо, понятно, что страница временно доступна под другим адресом. Но отчего это происходит, как долго это обычно длится?
PM MAIL   Вверх
IgorIV
Дата 12.1.2010, 20:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



AmraKimmerian, я в тупике от такого вопроса. Мне кажется явно не от положения звёзд и луны. Это явные действия администратора. Почему? Защита. Надолго? Как карта ляжет.
PM MAIL   Вверх
AmraKimmerian
Дата 12.1.2010, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



IgorIV, спасибо.
Я тоже считаю, что не от колебаний магнитного поля протуберанцев на Солнце.
Защита - вот уже яснее. То есть мой (или не только мой) запрос (или несколько запросов подряд) воспринимаются как спам? Или причины могут быть другие?
PM MAIL   Вверх
bars80080
Дата 13.1.2010, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



Цитата(AmraKimmerian @  12.1.2010,  20:03 Найти цитируемый пост)
То есть мой (или не только мой) запрос (или несколько запросов подряд) воспринимаются как спам? Или причины могут быть другие?

странное дело, я сколько своих хостеров ни спрашивал, они всегда мне давали вполне чёткий ответ, касаемо проблем с их хостингом
PM MAIL WWW   Вверх
sTa1kEr
Дата 13.1.2010, 10:57 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: нет
Всего: 146



Цитата(AmraKimmerian @  12.1.2010,  20:03 Найти цитируемый пост)
Но отчего это происходит, как долго это обычно длится? 

Админу гадалка нагадала, что пока не взойдет 3-я луна от этого URL будет исходить плохая карма.

Какая вообще разница по какой причине администратор ресурса решил сделал редирект на другой адрес? Конечного пользователя этот вопрос не должен беспокоить. Его должно беспокоить только, как правильно обрабатывать такие ситуации с 3xx кодами. 302 Found

Это сообщение отредактировал(а) sTa1kEr - 13.1.2010, 10:58
PM MAIL   Вверх
krypt3r
Дата 14.1.2010, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 9.6.2009

Репутация: 1
Всего: 16



Не понимаю, так сложно при получении этой ошибки пройти по урлу, находящемся в поле Location ответа?
PM MAIL   Вверх
AmraKimmerian
Дата 16.1.2010, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



Если перейти по URL-у, указанному в Location, то можно попасть на страницу, отличную от необходимой. Причем с любого урла редирект на эту страницу.

Если переходить к адресу с помощью адресной строки в браузере то страницы нормально открываются. А если с помощью сокета открывать ее и пытаться сохранить в переменной, то "302".

Может быть сервер как то отличает браузерный запрос и запрос php?

Это сообщение отредактировал(а) AmraKimmerian - 16.1.2010, 16:45
PM MAIL   Вверх
IgorIV
Дата 16.1.2010, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



У тебя какой браузер?
PM MAIL   Вверх
AmraKimmerian
Дата 16.1.2010, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7

Это сообщение отредактировал(а) AmraKimmerian - 16.1.2010, 18:23
PM MAIL   Вверх
IgorIV
Дата 16.1.2010, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



Ставишь Firebug, смотришь заголовки которые посылает браузер. Потом пытаешся их воспроизвести через PHP.

PM MAIL   Вверх
bazzjr
Дата 26.1.2010, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: нет
Всего: 6



Пишет вот что:

218    GET    302    Redirect to: [URL=https://....... .ru/login?gateway=true&service=http://... .ru/controllers/cas/auth.php]https://.... .... .ru/login?gateway=true&...rs/cas/auth.php[/URL]    [URL=http:// ...../.../... /]http://... . . ....ru/.../..... /[/URL] 

227    GET    302    Redirect to: [URL=http://... .ru/controllers/cas/auth.php]http://... .ru/controllers/cas/auth.php[/URL]    [URL=https://... . .... .ru/login?gateway=true&service=http://... ..ru/controllers/cas/auth.php]https://... . .... .ru/login?gateway=true&...rs/cas/auth.php[/URL]

218    GET    301    Redirect to: [URL=http://... ... .ru/.../.../]http://... ... .ru/.../.../[/URL]    [URL=http://... .ru/controllers/cas/auth.php]http://... .ru/controllers/cas/auth.php[/URL]

234    GET    (Aborted)    text/html    [URL=http://... ... .ru/.../.../]http://... ... .ru/.../.../[/URL] 

Дальше пошла обычная загрузка страницы...

Как уже понятно сначала идет ссылка на другой сайт, на этом другом сайте присваиваются куки вашему браузеру, и дальше снова редирект уже с куками...

ВОПРОС:
Как можно реализовать с помощью функций сокетов, запрос с куками?
Т.е. 
1 - мы создаем запрос, 
2 - нас редиректят, 
3 - нам присваивают куки, мы используем эти куки для того, чтобы мы стали своим и нас пустили дальше.




Это сообщение отредактировал(а) bazzjr - 26.1.2010, 23:41
PM MAIL ICQ   Вверх
AmraKimmerian
Дата 20.3.2010, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



Да, именно так. Вопрос актуален.
Я перефразирую.
При запросе браузера к необходимому сайту сервер этого сайта возвращает браузеру куки, которые тот успешно обрабатывает и сохраняет в текстовый файл.
Возвращает ли сервер куки, если к этому же необходимому сайту обращается не браузер, а код php?
Если возвращает, то как их можно перехватить/в какой переменной прочитать/с помощью какой функции взять/в каком месте обнаружить?
Если нет, то поможет ли в решении проблемы curl?

Цитата

Ставишь Firebug, смотришь заголовки которые посылает браузер. Потом пытаешься их воспроизвести через PHP.

В том то и дело, что если "открывать" нужную страницу с помощью php fsockopen, никаких заголовков в FireBug не видно - нет их.
Если вручную, с помощью адресной строки браузера - FireBug все показывает. Но ручное копирование этоих заголовков в запрос fwrite ничего не дает, как минимум из-за того, что заголовки все время меняются.

Это сообщение отредактировал(а) AmraKimmerian - 20.3.2010, 08:40
PM MAIL   Вверх
IgorIV
Дата 20.3.2010, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



AmraKimmerian, а ты "na_tanke" читал? smile
Ты на PHP имитируешь работу браузера, значит и заголовки должен отправлять ты. Принимать, обрабатывать и отправлять опять тоже твоя задача.
Цитата(AmraKimmerian @  20.3.2010,  08:30 Найти цитируемый пост)
Возвращает ли сервер куки, если к этому же необходимому сайту обращается не браузер, а код php?

Может и не возвращать.
Цитата(AmraKimmerian @  20.3.2010,  08:30 Найти цитируемый пост)
Если нет, то поможет ли в решении проблемы curl?

Наверно да. smile
PM MAIL   Вверх
AmraKimmerian
Дата 20.3.2010, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



Цитата

"na_tanke"

Не знаю ни про какие танки.

Цитата

заголовки должен отправлять ты

В последнем посте я спрашивал не про заголовки, а про куки. Не в заголовках дело - подставлял разные вариации, в том числе и те, что отдает в запрос браузер. См. пост от пользователя bazzjr.

Цитата

Принимать

В своем посте вы не ответили на главный вопрос - если сервер возвращает куки для php-запроса, то как их прочитать, вывести на экран?

Цитата

Может и не возвращать

А кто этим управляет? Разве сервер может определить, от браузера идет запрос или от кода php?

Цитата

Наверно да

В каком смысле "наверное"? То есть если curl-у захочется, то у него появится соответствующий функционал, а если нет - то нет?



Это сообщение отредактировал(а) AmraKimmerian - 20.3.2010, 20:37
PM MAIL   Вверх
bars80080
Дата 20.3.2010, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



Цитата(AmraKimmerian @  20.3.2010,  19:31 Найти цитируемый пост)
Не знаю ни про какие танки.

он имел ввиду это http://phpfaq.ru/na_tanke


PM MAIL WWW   Вверх
Fortop
Дата 20.3.2010, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 1
Всего: 42



Цитата(AmraKimmerian @  20.3.2010,  19:31 Найти цитируемый пост)
В последнем посте я спрашивал не про заголовки, а про куки. 

А где по-вашему передаются куки?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
IgorIV
Дата 20.3.2010, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



AmraKimmerian, не люблю давать советы, не подкрепленные фактами.
Что-то навскидку не могу вспомнить ни одного сайта с редиректом. Родные форумы трогать не хочу. Злополучный адрес можешь выложить? Хоть в личку.

В твоем предпоследнем сообщении много белых пятен.
Цитата(AmraKimmerian @  20.3.2010,  08:30 Найти цитируемый пост)
Возвращает ли сервер куки, если к этому же необходимому сайту обращается не браузер, а код php?

Ты где-нибудь написал как ты обращаешся через код php?
А отсеять можно к примеру так, конфиг nginx
Код

if ($http_user_agent ="") {
return 404;
}

PM MAIL   Вверх
AmraKimmerian
Дата 21.3.2010, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



Цитата

Ты где-нибудь написал как ты обращаешся через код php?

Вариантов не много, помоему:

Код

$fp = fsockopen("www.".$host, 80, $errno, $errstr, 30);
    if (!$fp) {
  echo "$errstr ($errno)<br />\n";
    } else {
  $out = "GET /".$page.$params." HTTP/1.0\r\n";
  $out .= "Host: www.".$host."\r\n";
  $out .= "Connection: Close\r\n\r\n";
  fwrite($fp, $out);
  while (!feof($fp)) {
    $f .= fgets($fp, 1024);
  }
    }
echo $f;



Цитата

отсеять можно к примеру так, конфиг nginx

Понятно. Ставил я уже заголовки один в один, что передаются браузеру, когда идет запрос в адресной строке. Не помогало.
Тут не в этом дело. В Мозилле отключаю куки и тогда браузер тоже получает 301 ошибку. Дело в куках.

Цитата

А где по-вашему передаются куки

Ага, в заголовках, слышал уже. Только передать это просто - "Cookie:" и пошло-поехало. А как принять? Опять нет ответа на главный вопрос.

Цитата

он имел ввиду это http://phpfaq.ru/na_tanke

Я попробовал getallheaders(); Выдал "301 Moved PermanentlyServer...".

Цитата

то-то навскидку не могу вспомнить ни одного сайта с редиректом

Нате вам примерчик: irr.ru

Это сообщение отредактировал(а) AmraKimmerian - 21.3.2010, 09:48
PM MAIL   Вверх
IgorIV
Дата 21.3.2010, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: нет
Всего: 8



Начальную функцию слямзил smile
За 2 месяца мог и сам найти-то.

За 20 дней - ни ответа, ни привета. Помогло - не помогло. Ну на нет и суда нет.

Это сообщение отредактировал(а) IgorIV - 11.4.2010, 23:46
PM MAIL   Вверх
AmraKimmerian
Дата 13.4.2010, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



Не помогло.

c cURL-ами не получается - установить их не могу себе.

За "простой в производстве" простите - некогда было.

Разобрался тут немного - раз куки находятся непосредственно в начале переменной (в заголовках), куда загружается вся разметка с помощью fgets, то и считать, соответственно, их оттуда просто. Но при php-запросе сайт возвращает заголовки:
Код

HTTP/1.1 301 Moved Permanently
Server: nginx/0.7.64
Date: Tue, 13 Apr 2010 14:25:20 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
X-Powered-By: PHP/5.2.11
Location: http://.../


Явно не те, что отображаются в мозилле когда заходишь на страницу забив адрес в адресной строке.

Это сообщение отредактировал(а) AmraKimmerian - 13.4.2010, 17:31
PM MAIL   Вверх
Fortop
Дата 13.4.2010, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 1
Всего: 42



bazzjr
AmraKimmerian
ну не получается у вас "тырить" контент или спамить -  и это хорошо. 


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
AmraKimmerian
Дата 14.4.2010, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



Да, это хорошо.
Плохо, когда начнут тырить у нас. И будет неизвестно, как это предотвратить.
PM MAIL   Вверх
Fortop
Дата 15.4.2010, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 1
Всего: 42



Цитата(AmraKimmerian @  14.4.2010,  17:37 Найти цитируемый пост)
как это предотвратить. 

Никак.

Поэтому и хорошо, что не получается у вас  smile 


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
bazzjr
Дата 15.4.2010, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: нет
Всего: 6



Fortop
Раз такой оффтоп пошел, и я свои пять копеек кину...

Как так нагло можно утверждать что кто-то "тырит", если использование fsockopen() не запрещает получение и работу с куками? Откуда вам известно для какой цели создан данный топик? Почему, если человек не знает ответа на вопрос, то сразу все вокруг "плохие", а он "хороший"?

Ответите мне?

Это сообщение отредактировал(а) bazzjr - 15.4.2010, 16:50
PM MAIL ICQ   Вверх
AmraKimmerian
Дата 15.4.2010, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



Да, и не хотелось бы, чтобы ваши, Fortop, слова резюмировали этот топик. Тема открыта для тех кому есть что сказать по существу. Всем остальным спасибо за терпение, информацию и прочие "танки" smile.


PM MAIL   Вверх
Fortop
Дата 16.4.2010, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 1
Всего: 42



bazzjr, каким образом возможность работы fsockopen() обеляет вас от попытки красть чужой контент? smile

В большинстве сервисов предусматривающих интеграцию - есть API или как минимум инструкция, как работать с ними.
В остальном числе случаев "пионерам" лучше не иметь представления о том как все это делается smile

А топик лучше закрыть - дабы не поощрять воров.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.1132 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.