Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > MS Windows > отправить HTTP запрос из cmd |
Автор: metaluga 22.1.2010, 16:18 |
задача простая. нужно отправить HTTP запрос из командной строки windows. как я понимаю нужно использовать telnet. НО мне нужно чтобы вся команда шла в одну строчку! *я в одной проге system("команда") должен написать! иначе бы я сделал так: 1)telnet example.com 80 <жмякнуть Ентер> 2)GET /index.html HTTP/1.0 <жмякнуть Ентер><жмякнуть Ентер> так как все таки нужно в одну строчку? может быть как-то так? telnet example.com 80 -x "GET /index.html HTTP/1.0" или так? telnet example.com 80 -x "GET /index.html HTTP/1.0\r\n\r\n" какой же мне символ вместо х писать? PS справку смарел: telnet ? - пишет чушь. |
Автор: bartram 22.1.2010, 21:07 |
metaluga, если ты делаешь это программно, то ты можешь передавать вместо Enter, символ перехода на новую строку. |
Автор: metaluga 23.1.2010, 00:29 | ||||||
не получается т.к. для cmd строка
тоже самое что 2 строки:
а это не сработает т.к. GET неизвестная бяка. хочется написать как то так:
что неверно т.к. 2-ая строка выполнится только после завершения 1-ой. поэтому пришел к выводу что надо все в одну строчку. но у тупого telneta нет передачи параметров которые нужно отсылать! в силу сложившихся обстоятельств нельзя использовать winsock. а работа с telnet напрямую из c++ как с cmd нет. ***писали бы все нормальные люди так: ***telnet("open example.com 80"); ***telnet("GET /index.html HTTP/1.0"); ***сока бы проблем тогда бы решилось ###! кароч я полазил на всяких форумах и ничего не нашел. все радостно открывают телнет руками и пишут там запрос руками. а автоматизировать мона получается только с помощью программы-тыкальщика, которая откроет етот галимый телнет и как юзер напишет туда шо нужно иногда имитируя нажатия Ентера. http://bytes.com/topic/c/answers/861897-sending-commands-telnet-c никто ему ниче не сказал. а остальных посылают на..... ой куда их только не посылают с этим вопросом! на Перл, Пхп курл, винсокеты, даже на ассемблер видел. это даже хуже чем на куй. |
Автор: mihanik 23.1.2010, 08:06 |
http://www.freeware.ru/program_prog_id_16434.html http://bb.ct.kz/lofiversion/index.php/t167910.html а VBS не подойдёт? Там это достаточно просто делается... Ты что своими запросами делаешь? Получаешь текст страницы ? http://forum.vingrad.ru/forum/topic-282134.html |
Автор: metaluga 23.1.2010, 12:31 | ||
я студент и мы сдаем ацко сложные задачи по алгоритмике. например вот сейчас другу решаю задачу:
если не решу - он не сдаст зачот. не вылетит конечно но много неприятного буит это да. мое консольное приложение выполныется на стороне сервера. в системе хранятся условия in.txt или иногда in.csv in.txt -> Наша консольная прога -> out.txt далее out.txt проверяется на правильность. я то задачу решил НО там проходят только 14 из 17 тестов на плюсик. нужно бы стырить условие in.txt чтобы пасмареть реально ли там ошибка! А то препод у нас ###! хоть 1 тест неверно - все - иди дальше решай. раньше я тыбзил условия джавой т.к. там очень легко написать подключение к левому серверу и отправить ему полностью методом Пост весь текст in.txt а теперь его файерволом прикрыли. поэтому нужно как-то из командной строки отправлять т.к. доступ у наших прог для cmd полный. ну представьте если ваша прога хочет вылезти в инет - файервол сразу пищит и говорит "разрешить ли проге xz.exe выход в инет" а админы у нас не нубы. уверен что если джаву прикрыли - то и доступ приложениям в инет закрыт. но вот написал я в проге такую фразу: system("telnet example.com 80"); файервол уже не запищал! смарю - а он АВТОМАТИЧЕСКИ добавил разрешение для доступа в инет системному приложению. т.к оно уже зарегестрировано! а связь между моей прогой он сечет только такую: "разрешить ли приложению xz.exe запускать cmd.exe?" а я отлично знаю что это разрешение у наших прог есть! схема: xz.exe (разрешение о запуске cmd есть) -> cmd.exe -> telnet.exe -> (системные приложения имеют право доступ в инет) - > условие убежало на левый сервак. поэтому нужно командовать cmd для запуска телнет в одну строчку. а также из этого вытекает что winsock не будет работать. |
Автор: mihanik 23.1.2010, 13:11 |
Ну... Попробуй мой скрипт. Может, тоже не будет ругаться... ![]() Там исполняющая система cscript.exe или wscript.exe... |
Автор: metaluga 23.1.2010, 13:30 |
извини за тупость на я не понял какой именно скрипт и как его использовать ![]() |
Автор: metaluga 23.1.2010, 14:23 | ||
я все пощелкал и все почитал.
тут я увидел паходу вижуал бейсик который для меня темный лес. я правда знаю что в винде есть встроенная исполнялка для вижуал бейсик. но пользоваццо не умею вообще. ![]() |
Автор: Akella 23.1.2010, 15:39 |
Там же тебе готовое всё |
Автор: GR0Mi 11.5.2010, 18:41 |
таже интересует как можно из смд, послать пост\гет запрос вида http://сайт.biz/index.php?name=%COMPUTERNAME% |
Автор: hipAppops 10.9.2022, 08:40 |
Модератор: Сообщение скрыто. |