Не, так не пойдет. Пишу парсер html страниц. Нужно обработать результат нескольких запросов без отправки html формы. Ну или использовать <form> не в явном виде. В идеале, лучше конечно плагин. Данные получаю через internet.dll.
Sync, Ты понимаеш то о чем пишеш? Судя по твоему ответу, ты имееш весьма смутное представление о затронутой теме. Советую первоначально изучить http протокол, только после этого можно вести сколь нибудь осмысленный диалог. Если перевести то что ты написал, на простой язык получится следующее: ты клиент, я сервер. Ты хочеш что бы я тебе дал несколько ответов, притом нужных тебе, ни разу меня не спросив Система работает по принципу вопрос-ответ, что то спросиш тебе ответят, и ни как иначе.
Quote (Sync)
Ну или использовать <form> не в явном виде.
Это то же абсурдная вещь, в http понятия форма не существует, это чисто хтмльное понятие, есть понятие запрос и способ передачи данных POST и GET, данные гет передаются в адресной строке, а пост после заголовка. Посмотри примеры заголовков, тогда поймеш, на сервер отправляется именно текст заголовка в том виде как ты его видиш в примере. Его можно написать руками и передать по ТСР или его за тебя сгенерирует скажем хтмл форма и так же передаст. Полученный от сервера ответ так же имеет заголовок и данные ответа. В случае, если ответ принимает браузер, заголовка ты не увидиш, только полученные данные. В случае если ответ принимает иная шняга, ты должен обработать заголовок и получить данные самостоятельно. Каждая конкретная шняга дйествует так, как заложено в ней ее создателем.
Sync наверное просто хочет заслать переменные и получить ответ, имея в виду get запрос... изучи переменные, сформируй адресную строку для перехода и получишь результат. А лучше конкретно скажи что надо сделать, а то сидим тут телепатим...
Зачем изучать конвейер Автоваза, что бы ездить на машине? Слова на нравоучение нашлись в избытке, а помощи ноль. Спасибо за науку :(. Хм, пока "остывал", тут что-то написали :-). Да, мне нужно передать POST, а иногда и GET запрос на сервер, но не через форму html. Авторизации не касается вообще. Парсер предназначен для получения информации о слежении треккинг-кода по посылке. Страны-отправители могут быть различными, и формы запроса у них соответственно свои. Вот как пример: Слежение по России - http://info.russianpost.ru/servlet/post_item А вот по USA http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do Конечно есть сайты, где можно через GET отработать, тада нет проблем.
Сообщение отредактировал Sync - Суббота, 06 Февраля 2010, 14:34
Дело в том, что недостаток знаний мешает тебе четко сформулировать свой вопрос, я отолслал тебя на изучение http протокола не на шару, хочь не хочь, а тебе это придется изучить, если конечно ты желаеш достигнуть своей цели. У меня есть целая линейка ТСР плагинов, в том числе и совсем голая версия, то есть не поддерживающая никаких протоколов высшего уровня. А это значит что ты должен будеш сам организовывать обработку нужного тебе протокола, который естественно тебе надо будет изучить. Если по простому, текст передаваемый (ну и номер порта то же) будет определять что за клиент у тебя получится, хтмл, фтп, почтовик, или еще чего. Это есть вещь универсальная, набери в гуглях TCP и посмотри какие протоколы на нем работают. Кроме вишеописанного, тебе надо будет еще разобраться как конкретно функционирует нужный тебе механизм сайта, когда что передается, как ставятся кукиши и так далее.
Alex3A Опять столько слов... Понятно, спасибо за науку, теперь я знаю как отвечать людям. Если кто-то у тебя спрашивает, а ты это знаешь - пошли его в библиотеку, там все есть!
Сообщение отредактировал Sync - Суббота, 06 Февраля 2010, 14:43
Страны-отправители могут быть различными, и формы запроса у них соответственно свои.
Получить нужный ответ можно только в том случае если будет отправлен правилиный запрос естественно что разные формы генерируют разные заголовки и передают разные переменные. Таким образом тебе надо сначало проанализировать каждую конкретную форму, а уж затем формировать запрос. В общем, затронутая тобой тема не так проста, как кажется на первый взгляд, и простого ответа на нее не существует, тем более при отсутствии более подробного описания нужды. Для работы тебе не помешает хороший снифер.
ради смеха забил в адресную строку: .../InterLabelInquiry.do?getTrackNum&origTrackNum=2342456456456 странно, но чето сработало. submit формы через post, но тогда что это оно выдало?
Если кто-то у тебя спрашивает, а ты это знаешь - не делись знаниями
Ты что предлагаеш мне писать обработку протокола за тебя? Мне это просто не интересно! Есть ряд методов, которыми можно решить твою нужду, есть ряд механизмов, плагинов и так далее, каждый из них имеет свои особенности, котрорые надо изучить, а изучив понять, годится ли это для тебя. Кто такой internet.dll я не знаю, да и знать не хочу, дает ли он возможность отправки по пост я не знаю, определяй сам. Для подобного у меня есть свой движок, и я могу заставить его делать то что мне нужно. По поводу дележа знаниями, всегда готов, новот готов ли ты их воспринять это уже вопрос. Вопросы должны быть конкретными, на вопросы расплывчивые не хватит здесь места да и времени это займет немало. Так что спрашивай.
Так ничего тут странного то и нету, на этом сайте гет запросы принимаются, есть такая опция маджик, если она стоит, то разницы между переменными пост и гет нут, и значение берется из простой переменной, если опция не включена, данные надо брать из массивов пост и гет сервера, а они то разные.
В общем, затронутая тобой тема не так проста, как кажется на первый взгляд, и простого ответа на нее не существует, тем более при отсутствии более подробного описания нужды.
это уж точно... но нужда там несложная - на сайтах субмитится простая форма post, надо получить результат. куков и прочего ничего нет.
а как это так? как я их все узнаю кроме тех что на странице описаны?
Да очень просто, передаеш из формы переменную dembel если меджик опция включена, посмотреть ее можно так alert(dembel), если нет то alert($HTTP_GET_VARS[dembel])если она отправлена по гету, alert($HTTP_POST_VARS[dembel]) если по посту. Но если опция включена но скрипт не пользует простой доступ к переменной, а берет ее из массивов $HTTP_.... то же ничего не выйдет.
DEMBEL, Да, тоже проверил, обрабатываеся. Видимо magic quotes включены. Значит пока буду писАть под get. Пасибо! P.S. Удивительно, но обошлись без "Автоваза". Я кстати тоже дизайнер
Сообщение отредактировал Sync - Суббота, 06 Февраля 2010, 15:30
А это так работает наша "замечательная" почта. Видимо весы Китайские сломались :). Мне как-то пришла посылка с перевесом на 50гр., корпус перематан скочем. Подумал худшее... Вскрыл на почте, а внутри дохлый мышь и металлические детальки от новых часов
В ммв есть возможность внедрять в хтмл страницу ява скрипт и выполнить его на этой странице, таким образом можно иметь на ней только нужную форму и больше ничего, а так же переписывать ее по необходимости, внедряя иную форму. Как внедрить нужное или прочитать нужный тег есть в примерах. Единственная засада, сложно совместить синтаксис ммв и явы.
Quote (Sync)
P.S. Удивительно, но обошлись без "Автоваза".
Зато в следующий раз ты сможеш сделать все что пожелаеш.
POST http://www.site.ru/news.html HTTP/1.0\r\n Host: www.site.ru\r\n Referer: http://www.site.ru/index.html \r\n Cookie: income=1\r\n Content-Type: application/x-www-form-urlencoded\r\n Content-Length: 35\r\n \r\n login=Petya%20Vasechkin&password=qq Последняя строка содержит передаваемые по пост данные, надо только передать этот текст посредством ТСР движка. (\r\n в дествительности это коды $13$10).
Рано или позно ты столкнешся с тем что тебе будет чего то не хватать. Протокол состоит из десятка заголовков, по моему это автовазом никак называтся не может, причем реально необходимо всего несколько.
Учитывая что "парсильщиков" развелось немеряно, наверное имеет смысл слепить примерчег, на голом ТСР, если конечно на меня нападет облом Уж больно мне не нравятся всякие вб скрипты и прочая хреновень, плаг как то приятнее