Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - CMD CURL - Обработка результатов вывода

Ответить
Настройки темы
CMD/BAT - CMD CURL - Обработка результатов вывода

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый вечер всем!

Я очень мало знаком с CMD. Я честно гуглил, пересмотрел огромную кучу страниц, вот лишь небольшая часть истории моего браузера. Monkey-метод меня тут не выручил.



Я не могу найти ответ сам. Пожалуйста, помогите.

Я использую стороннее ПО, которое может вызывать CMD. Из этого ПО я вызываю CMD, где пишу вызов CURL, например: curl -i https://www.google.com
Мне возвращается нормальный ответ.

Но если CURL возвращает один из EXIT CODES (например, 6), то это вот мое ПО, из которого я вызываю CMD, не отлавливает его и ничего не пишет.

Мне нужен CMD, чтобы возвращался EXIT CODES, я пробовал разные варианты, перепробовал штук 30 разных, и так, и сяк, менял регистр символов, танцевал с бубном. У меня не получается.

Все, что мне удалось достичь - возвращать сообщение ERROR (подсмотрел вот тут).

curl -i https://www.google.com || echo ERROR

Постарался максимально описать свою проблему, надавил на жалость, признаю свое абсолютное незнание CMD. Но мне очень очень ннннннадаааааа

Отправлено: 20:53, 02-05-2019

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Fres Fighters:
то это вот мое ПО, из которого я вызываю CMD, не отлавливает его и ничего не пишет. »
Естественно. Код возврата от curl.exe получает пакетный файл, а не Ваше неназванное стороннее ПО.

Как именно Вы вызываете интерпретатор команд из стороннего приложения? Как именно Вы вызываете curl.exe?

Отправлено: 21:10, 02-05-2019 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1187
Благодарности: 497

Профиль | Отправить PM | Цитировать


Цитата Fres Fighters:
Но если CURL возвращает один из EXIT CODES (например, 6), то это вот мое ПО, из которого я вызываю CMD, не отлавливает его и ничего не пишет.
Мне нужен CMD, чтобы возвращался EXIT CODES, я пробовал разные варианты, перепробовал штук 30 разных, и так, и сяк, менял регистр символов, танцевал с бубном. У меня не получается. »
Для того, чтобы Ваше ПО получало errorlevel, его нужно ему передать.
В cmd это делается так:
run.bat
Код: Выделить весь код
@echo off
[(команда|программа), которая изменяет errorlevel]
exit /b %errorlevel%
- здесь будет передан errorlevel программе, которая вызвала на исполнение пакетный файл.
В Вашем случае:
Код: Выделить весь код
@echo off
curl -i https://www.google.com||(exit /b %errorlevel%)
либо так, если будут ещё какие-либо дополнительные команды, кроме самого curl:
Код: Выделить весь код
@echo off
curl -i https://www.google.com
set "var=%errorlevel%"
rem дополнительные команды
exit /b %var%

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 03-05-2019 в 07:58.

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:53, 03-05-2019 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


YuS_2, нельзя же так сразу , надо постепенно, исподволь подводить к этому.

Отправлено: 10:31, 03-05-2019 | #4


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1187
Благодарности: 497

Профиль | Отправить PM | Цитировать


Цитата Iska:
надо постепенно, исподволь подводить к этому. »
ну, человеку же очень нннннада!

-------
scio me nihil scire. Ѫ


Отправлено: 10:59, 03-05-2019 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Может там вообще напрямую можно curl.exe вызывать.

Отправлено: 11:15, 03-05-2019 | #6


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1187
Благодарности: 497

Профиль | Отправить PM | Цитировать


Цитата Iska:
Может там вообще напрямую можно curl.exe вызывать. »
Скорее даже наверняка... ведь curl - консольное приложение, а вызывать cmd или curl, разница не большая...
Но ПО секретное, суть задачи не ясна (не озвучена), поэтому вопрос-ответ и ничего более... сегодня мои способности телепата отпросились в отпуск.

-------
scio me nihil scire. Ѫ


Отправлено: 12:07, 03-05-2019 | #7


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Как именно Вы вызываете интерпретатор команд из стороннего приложения? Как именно Вы вызываете curl.exe? »
Там просто есть раздел для вызова. Ввожу туда curl -i https://www.google.com и мне приходит ответ.

Цитата YuS_2:
Для того, чтобы Ваше ПО получало errorlevel, его нужно ему передать. »
Большое Вам спасибо за Ваш подробнейший ответ. Я так обрадовался, когда увидел решение. Но.......

Не работает ни один из вариантов. Это не претензия, я, скорее всего, что-то делаю неправильно.

Вот это у меня работает: curl -i https://www.google.com || echo ERROR
Возвращается ERROR, если что-то не так. Приведенные Вами варианты у меня ничего не отображают.

Цитата YuS_2:
Но ПО секретное, суть задачи не ясна (не озвучена), поэтому вопрос-ответ и ничего более... сегодня мои способности телепата отпросились в отпуск. »
ПО не секретное. Вот скриншоты и интерфейс, если это как-то прояснит задачу. Программа называется BotChief Editor - это ПО, некоторый аналог ZennoPoster или Selenium IDE.

Если сайта не существует с вариантом echo ERROR:


Если сайт существует:


Ваш вариант:


Я вчера пробовал еще вот так, но у меня всегда возвращается "0".


Возможно, что это просто кривая реализация в самом BotChief Editor?

Отправлено: 17:22, 03-05-2019 | #8


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1187
Благодарности: 497

Профиль | Отправить PM | Цитировать


Цитата Fres Fighters:
Не работает ни один из вариантов. Это не претензия, я, скорее всего, что-то делаю неправильно. »
Цитата Fres Fighters:
Возможно, что это просто кривая реализация в самом BotChief Editor? »
Нет, это не кривая реализация, просто curl сначала выводит поток ошибок, а его-то BotChief Editor обработать как код возврата не может.
Попробуйте так:
run.bat
Код: Выделить весь код
@echo off
2>nul curl -i https://www.google.kk||(exit /b %errorlevel%)
cd .
curl -f -s -i https://www.google.kk
exit /b %errorlevel%
А для проверки того, что именно возвращается при выполнении пакетного сценария, можно создать проверочный "батник":
Код: Выделить весь код
@echo off
call run.bat
echo %errorlevel%
pause
Но если BotChief Editor "не умеет" обрабатывать код возврата, то и смысла в его передаче в таком виде не будет, т.е. тогда только так:
Код: Выделить весь код
cmd /c "2>nul curl -i https://www.google.kk||echo %errorlevel%"
curl -f -s -i https://www.google.kk
echo %errorlevel%

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 03-05-2019 в 20:20.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:43, 03-05-2019 | #9


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Fres Fighters:
Я вчера пробовал еще вот так, но у меня всегда возвращается "0". »
Так всегда будет возвращаться ноль. И, кстати, я не вижу, чтобы код возврата там обрабатывался каким-то образом.

Так что Вы хотите получить?
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:28, 03-05-2019 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - CMD CURL - Обработка результатов вывода

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - cmd, curl и удаление папки на FTP Vladskiy Скриптовые языки администрирования Windows 5 09-12-2015 17:00
VBS/WSH/JS - [решено] Обработка команды в CMD через VBS KaKTuZ49 Скриптовые языки администрирования Windows 2 12-12-2011 14:37
Интернет - Практика Excel: обработка результатов викторины Vadikan Программное обеспечение Windows 0 17-11-2011 09:30
Службы - Как задать ВЫСОКИЙ приоритет ввода/вывода(IoPriority) и PagePriority через реестр/cmd 19w85 Microsoft Windows 7 21 17-06-2011 15:48
CMD/BAT - [решено] Обработка ключей запуска CMD- файла volk1234 Скриптовые языки администрирования Windows 28 20-12-2009 21:46




 
Переход