Paho MQTT Python: proxy_set vor dem Verbinden aufrufen
Nutze die proxy_set-API von Paho für die MQTT-Verbindung und halte Proxy-Zugangsdaten getrennt von der Broker-Authentifizierung.
Der Python-Client von Paho hat eine dokumentierte Methode proxy_set. Konfiguriere diesen Client, bevor du dich mit dem MQTT-Broker verbindest:
client.proxy_set(proxy_type=socks.SOCKS5,
proxy_addr='203.0.113.10',
proxy_port=1080)Das setzt voraus, dass ein kompatibler Paho-Client und die erforderliche SOCKS-Unterstützung bereits verfügbar sind. Der Endpunkt ist illustrativ. Für einen öffentlich erreichbaren Broker auf einer erlaubten Public-Proxy-Route bietet die SOCKS5-Proxy-Liste Host- und Port-Kandidaten; bestätige, dass der Knoten das tatsächliche Broker-Ziel zulässt. Die Methode dokumentiert unterstützte Proxy-Typen und leitet das Proxying über PySocks weiter.
Der Broker hat weiterhin seinen eigenen Hostnamen, Port, TLS-Anforderungen und MQTT-Authentifizierung. Ein Proxy-Konto wird nicht zum Benutzernamen, der an den Broker gesendet wird. Ebenso authentifiziert das Setzen von Broker-Zugangsdaten nicht den Proxy-Hop.
Prüfe den Verbindungstransport und die erlaubten Ziele des Proxys, wenn die Verbindungseinrichtung fehlschlägt. Ein Proxy, der Web-Browsing trägt, erlaubt nicht automatisch den TCP-Port eines Brokers.
Halte die MQTT-Netzwerkschleife am Laufen, wie es die Paho-API nach der Verbindungseinrichtung verlangt. Die Proxy-Route herzustellen ist ein Schritt; sie treibt nicht von sich aus MQTT-Keepalives, Callbacks und Bestätigungen an.