Ein WLAN-QR-Code fasst Netzwerkname, Sicherheitstyp und Passwort in einer scanbaren Zeichenkette zusammen. Richten Sie die Kamera eines Smartphones darauf, und das Gerät bietet an, dem Netzwerk beizutreten, sodass niemand das Passwort von einem Whiteboard ablesen muss. Image-Charts erzeugt einen solchen Code aus einer einzigen URL mit cht=qr und den Zugangsdaten in chl.
Schreiben Sie die Netzwerkdaten in eine WIFI: Nutzlast, kodieren Sie sie per URL-Encoding und übergeben Sie sie als chl Parameter eines cht=qr Diagramms. Die Antwort ist ein PNG, das Sie überall dort einsetzen können, wo ein Bild funktioniert.
Die Nutzlast, die Sie kodieren
WIFI:T:WPA;S:Demo;P:hunter2;;
Die URL, die Sie anfragen
https://image-charts.com/chart?cht=qr&chs=300x300&chl=WIFI%3AT%3AWPA%3BS%3ADemo%3BP%3Ahunter2%3B%3B
Das Format der Nutzlast stammt von ZXing, der Barcode-Bibliothek, mit der die ersten Android-Scanner ausgeliefert wurden, und es ist das, was die iOS-Kamera-App und der Android-Scanner lesen, wenn sie anbieten, einem Netzwerk beizutreten. Felder werden durch Semikolons getrennt, und die Nutzlast schließt mit zwei davon.
| Feld | Bedeutung | Hinweise |
|---|---|---|
| T: | Sicherheitstyp | WPA deckt WPA, WPA2 und WPA3 ab. WEP für ein altes Netzwerk, nopass für ein offenes. |
| S: | Netzwerkname (SSID) | Genau so, wie er gesendet wird. Groß- und Kleinschreibung beachten. |
| P: | Passwort | Entfällt beim Typ nopass. |
| H: | Verstecktes Netzwerk | H:true wenn die SSID nicht gesendet wird. Andernfalls weglassen. |
| ;; | Ende der Nutzlast | Zwei Semikolons schließen die Zeichenkette ab. |
Zwei Durchgänge, in dieser Reihenfolge. Innerhalb von S: und P:, also im Netzwerknamen und im Passwort, maskiert ein Backslash die fünf Zeichen, die ein Feld sonst beenden würden (Backslash, Semikolon, Komma, Doppelpunkt, doppeltes Anführungszeichen). Ein Passwort von p;ss schreibt man als p\;ss. Kodieren Sie anschließend die gesamte Nutzlast einmal per URL-Encoding, denn dieselben Semikolons und Doppelpunkte haben in einem Query-String eine eigene Bedeutung. WIFI:T:WPA;S:Demo;P:hunter2;; wird zu WIFI%3AT%3AWPA%3BS%3ADemo%3BP%3Ahunter2%3B%3B.
Ein offenes Gastnetzwerk braucht kein Passwortfeld. Seine Nutzlast lautet WIFI:T:nopass;S:Guest;; und wird genauso gerendert.
cht, chs und chl sind erforderlich. Der Rest bestimmt, wie der Code gezeichnet wird.
| Parameter | Was es steuert | Werte |
|---|---|---|
| cht=qr | Diagrammtyp | Erforderlich. |
| chs | Größe in Pixeln, Breite x Höhe | Erforderlich. Ein QR-Code ist quadratisch, die Breite entscheidet also. Unter 29 Pixel Breite liefert die API ein leeres Quadrat statt eines unlesbaren Codes. |
| chl | Die zu kodierenden Daten | Erforderlich, UTF-8-URL-kodiert. Eine URL endet bei etwa 2K, eine längere Nutzlast läuft daher über eine POST-Anfrage. |
| chld | Fehlerkorrekturstufe und Rand | L ist der Standard, dann M, Q und H, die 7 %, 15 %, 25 % und 30 % eines beschädigten Codes wiederherstellen. Der Rand ist eine in Zeilen gezählte Randbreite, standardmäßig 4, und unsignierte Diagramme verbreitern ihn, damit das Wasserzeichen lesbar bleibt. |
| icqrf | Vordergrundfarbe, RRGGBB oder RRGGBBAA | Standard 000000. |
| icqrb | Hintergrundfarbe | Standard FFFFFF. Ein Alphakanal von 00 macht ihn transparent. |
| chof | Ausgabeformat | .png standardmäßig, .svg für eine Vektorausgabe. |
| choe | Datenkodierung | UTF-8, der einzige unterstützte Wert. |
Eine höhere Fehlerkorrekturstufe übersteht einen zerkratzten Aufkleber oder einen Code, auf den jemand ein Logo gesetzt hat, dafür passen weniger Daten in dasselbe Quadrat. Eine WLAN-Nutzlast ist kurz, H kostet Sie hier also nichts.
Das Passwort steht in der URL und wandert daher überall dorthin, wohin diese URL wandert: in den Browserverlauf, in Server-Logs, in einen CDN-Cache und in die Analytics der einbettenden Seite. Unsere Datenschutzrichtlinie beschreibt, was auf unserer Seite passiert. Für ein Gast-WLAN im Café ist genau das der Sinn der Sache. Für ein Netzwerk, das Ihnen wichtig ist, rendern Sie den Code einmal, behalten das Bild und verwerfen die URL, oder betreiben Sie die API in Ihrem eigenen Netzwerk mit Image-Charts On-Premise.
Wenn die Codes aus einem geplanten Job oder einem No-Code-Tool statt aus Ihrem eigenen Code stammen, erreichen die Integrationen und das Agent-Tooling dieselbe API ohne Umbau.