Openssl s_client и ЗДЕШНИЕ документы

#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), поэтому я добавил «Соединение: закрыть», чтобы сервер закрыл соединение.