diff --git a/homeassistant/components/octoprint/config_flow.py b/homeassistant/components/octoprint/config_flow.py
index ea2013f29b9f2c9c45be3e40cf3330c96144c84d..acc1449bd9634392779ddadfd250103d4cd55be1 100644
--- a/homeassistant/components/octoprint/config_flow.py
+++ b/homeassistant/components/octoprint/config_flow.py
@@ -1,9 +1,9 @@
 """Config flow for OctoPrint integration."""
 import logging
-from urllib.parse import urlsplit
 
 from pyoctoprintapi import ApiError, OctoprintClient, OctoprintException
 import voluptuous as vol
+from yarl import URL
 
 from homeassistant import config_entries, data_entry_flow, exceptions
 from homeassistant.const import (
@@ -162,14 +162,16 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
         await self.async_set_unique_id(uuid)
         self._abort_if_unique_id_configured()
 
-        url = urlsplit(discovery_info["presentationURL"])
+        url = URL(discovery_info["presentationURL"])
         self.context["title_placeholders"] = {
-            CONF_HOST: url.hostname,
+            CONF_HOST: url.host,
         }
 
         self.discovery_schema = _schema_with_defaults(
-            host=url.hostname,
+            host=url.host,
+            path=url.path,
             port=url.port,
+            ssl=url.scheme == "https",
         )
 
         return await self.async_step_user()