#bash #openssl
#bash #openssl
Вопрос:
Все, я пытаюсь создать скрипт оболочки bash, который использует openssl для выполнения https-запроса для меня (/ dev / tcp и wget недоступны) в соответствии с:
openssl s_client -connect xxx.xxx.xxx.xxx:port <<EOF
GET / HTTP/1.1
Connection: close
...more http here...
EOF
Если я запускаю командную строку вручную, вводя запрос, она работает так, как ожидалось, и я вижу правильный HTML. Однако, если я запускаю его изнутри сценария оболочки, я не получаю HTTP-документ обратно с сервера. Есть мысли?
Ответ №1:
Интересно, -ign_eof
помогает ли. Исходная проблема описана в http://www.mail-archive.com/openssl-users@openssl.org/msg02926.html (обратите внимание, что это очень старый) и этот переключатель, кажется, подходит.
Комментарии:
1. Он зависал после возврата входных данных (поскольку игнорировал eof), поэтому я добавил «Соединение: закрыть», чтобы сервер закрыл соединение.