Как обработать запрос по протоколу HTTPS в Roku SG, когда сайт небезопасен?
Я работаю над приложением Roku Scene Graph. Он получает данные запроса от удаленных серверов, указанных URL-адресами. Однако ответ не возвращался и отображал ошибку:
SSL: альтернативное имя субъекта сертификата не соответствует целевому имени хоста...
Как сделать запрос с URL-адресом HTTPS, когда веб-сайт небезопасен?
Мой код для запроса данных ниже:
request = CreateObject("roUrlTransfer")
request.SetCertificatesFile("common:/certs/ca-bundle.crt")
request.AddHeader("X-Roku-Reserved-Dev-Id", "")
request.InitClientCertificates()
request.SetUrl(url)
port = CreateObject("roMessagePort")
request.SetMessagePort(port)
request.SetPort(port)
timer = createobject("roTimeSpan")
request.AsyncGetToString()
while true
msg = wait(10, port)
if type(msg) = "roUrlEvent" then
if msg.GetResponseCode() = 200 then
m.data = msg.GetString()
return m.data
exit while
else
print msg.GetResponseCode()
print msg.GetFailureReason()
exit while
end if
end if
end while
Код для скачивания картинок:-
mgr = CreateObject("roTextureManager")
msgport = CreateObject("roMessagePort")
mgr.SetMessagePort(msgport)
request = CreateObject("roTextureRequest","https://192.168.1.10/ball.png")
request.SetCertificatesFile("common:/certs/ca-bundle.crt")
request.InitClientCertificates()
mgr.RequestTexture(request)
1 ответ
Моя рекомендация заключается в том, что проблема с сертификатом должна быть решена на стороне сервера.
Возвращаясь к вашему вопросу, вы можете отключить проверку SSL на Roku, используя метод EnableHostVerification(enable as Boolean) as Boolean
из ifUrlTransfer
интерфейс
request.EnableHostVerification(false)