Forum Webscript.Ru
Программирование => PHP => Тема начата: Suffer от 22 Мая 2003, 14:31:04
-
Пытаюсь загрузить страницу с указанным URL в память с помощью fopen() (или file()) и потом сохранить в своем файле. Многие страницы загружаются (например http://www.php.net или webscript.ru), но некоторые считываются неправильно. Вместо кода HTML загружаются какие-то значки (что-то типа ‹ _V_oЪVП§ёs). Кто-нибудь знает почему? Может быть там какая-нибудь защита установлена?
-
Suffer
ИМХО , это наверное XML - страницы.... может быть?
:-)
-
Да нет, вроде бы, не XML.
http://aaa.bbb.ru/ccc.pl?d=e&f=g - что-то такое
-
Suffer
что-то такое
а что там? по ссылке отдается обычный хтмл...
возможно на некоторых сайтах стоит защита от автоматизированных запросов... можешь например проверить гугл, он если напрямую (теми способами, что ты упомянул) задать ему какой-либо поиск, т есть передать в строке запрос, выдаст тебе все равно главную страницу, так они защищаются от всяких анализаторов... но и это обходится, дай конкретно ссылку, по которой не работает забирание содержимого... или эмулируй браузер, возможно выручит
-
или эмулируй браузер,
реальное замечание
можно открыть сокетное и предать туда User Agent ну и всё остальное как положено - метод, протокол etc
и покажи , действительно, ТО,ЧТО не читается РЕАЛЬНО
-
какие у людей проблемы-то, а?
"С некоторых сайтов ворую контент свободно, а с некоторых не получается. Поможите, люди добрые!"
-
может дело в кодировке страниц?
-
Вот эта ссылка:
http://suncity.combats.ru/zayavka.pl?filter=Suffer&logs=1
Если считываю эту же страницу, но без параметров, то все нормально работает.
semya:
>возможно на некоторых сайтах стоит защита от >автоматизированных запросов...
Скорее всего так и есть, но тут не главная страница выдается, а фигня какая-то.
И еще один вопрос. Как эмулировать браузер? Дайте мне какую-нибудь ссылку на эту тему, please.
-
гы!
а за прокачку-то тебе знаешь, что светит? ;-)
-
RomikChef:
гы!
а за прокачку-то тебе знаешь, что светит? ;-)
А при чем тут прокачка то? Просто хочу анализатор логов для себя сделать
-
Suffer
можешь написать эмулятор самостоятельно, но я советую Snoopy - http://snoopy.sourceforge.net
-
semya
Большое спасибо за Snoopy!
-
Только вот есть ли Snoopy под Windows?
Или это просто сырец, которому нужен только PHP?
-
F.A.K.K.2
это просто класс на пхп, который за тебя по сокетам раскидывает и сортирует полученную инфу в уподобающий вид... но кстати я заметил, что если напрямую file() или fopen() открываешь тот же гугл с результатми поиска: то под юнихом отдает главную страницу - якобы защита, а под виндой - все ок, защита не срабатывает. снупи - все это хавает на ура!
-
semya
Радует.
Т.е. я говорю снупи куда идти, что отсылать, а он мне резутаты отдает?
-
F.A.K.K.2
вызываешь его методы и получаешь результаты. там есть отличные примеры
-
semya
Спасибо ещё раз!:)
Примеры как раз то что мне надо
-
А я вот только что понял в чем дело. Никакой там защиты нет, а информация, которая выдается - это содержимое ZIP-архива, содержащего нужную страницу. Это наверное они сделали для уменьшения траффика.
Но тогда возникает другой вопрос: а как разархивировать это? Можно, конечно, вызвать внешнюю программу, но тогда придется обязательно сохранять содержимое в файл. А мне нужно ее просто в пямяти обработать. Может быть в PHP есть какая-нибудь стандартная функция? или модуль какой-нибудь?
-
zip_open
zip_close
zip_read
zip_entry_open
-
Можете мне помочь.
Я делаю бот автоотправки сообщений в БК (флудом не занимаюсь, как могли подумать некоторые подозрительные личности...).
Так вот у меня возникает проблема:
Если я браузером отсылаю в чат сообщение, не из БК (из своей хтмл страницы), сервак сообщение принимает.
Но если я шлю через скрипт (Snoopy), то меня выкидывает на начальную страницу.
Так вот вопрос, как сервак определяет что запрос идет не из браузера. Может быть он не видит кук, и поэтому не принимает сообщение?
-
Может быть он не видит кук
скорее всего так и происходит, ведь если нужна авторизация, то это вполне может стать причиной переадресации - снеси у себя куки в момент попытки отправки сообщения и проверь перекинет тебя или нет......
а вообще снупи поддерживает куки, посмотри как их задать...
-
semya
Точно куки. :)
Я в БК зашел, куки стер, и тут же вылетел....
-
Опять двадцать пять!
команда куки типа $snoopy->cookies["battleid"] = 1044523888 требует команды fetchtext() которая в свою очередь не отсылает форму!
Как их вместе отослать?
В примерах, они по отдельности демонстрируются!:(