Следуя документации службы API, я обнаружил, что мне нужно сделать запрос по следующему URL-адресу
https://eipapp1.emeter.com:9674
Я использую модуль superagent для Node.JS. И я получаю следующую ошибку:
Error: write EPROTO 140736110642048:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:825:
Я понимаю, что эта ошибка возникает из-за того, что я делаю запрос на порт 9674, но использую HTTPS, и это может быть причиной.
Есть ли способ сделать такой запрос? Может быть проблема со спецификацией службы API?
Спасибо всем.
«потому что я делаю запрос к порту 9674, но использую HTTPS, и это может быть причиной.». Нет. Обычно HTTPS использует порт 443, потому что он был определен IANA таким же образом, и потому что веб-мир не использует записи SRV, чтобы отличить идентификацию службы от местоположения службы, поэтому необходим фиксированный порт по умолчанию. Но вы можете использовать HTTP или HTTPS через любой другой порт, который работает точно так же, если клиент и сервер согласны. HTTP (по крайней мере, на данный момент) накладывается на TCP (или TLS накладывается на TCP), а адреса / порты являются проблемами уровня TCP, а не HTTP (s).





Весьма вероятно, что URL-адрес, к которому вы пытаетесь получить доступ, вообще не поддерживает https. Такое сообщение об ошибке типично для случаев, когда кто-то пытается подключиться к хосту: порт по https, даже если поддерживается только http (или другие протоколы, отличные от TLS). К сожалению, этот сайт не является публичным, поэтому я не могу это проверить.