JDK 17, Zugriff auf shelly, Authentication, java.net.*
Es geht um Zugriff via http, konkret die URL. Nichts wirklich Hilfeiches bei Google gefunden.
In Shellyforen wieder keine Javakenntnisse (nur javascript)
"http://admin:passwort@192.168.178.146/rpc/Shelly.GetStatus"
Java Code:
URL url;
URLConnection con;
url = new URL(urlstr);
con=url.openConnection();
Solange am Shelly Authentication ausgeschaltet ist funktioniert das wunderbar.
MIT Authentication folgt ein "Error 401".
mit "curl" auf dem Radpberry Pi läuft die URL: (wie kriege ich das mit Java hin??)
curl http://admin:******@192.168.178.146/rpc/Shelly.GetStatus -v --digest
< WWW-Authenticate: Digest qop="auth", realm="shelly2pmg3-e4b3231d66d4", nonce="1763706843", algorithm=SHA-256
< Content-Length: 0
< Server: ShellyHTTP/1.0.0
< Connection: close
<
< Content-Type: application/json
< Content-Length: 1456
< Server: ShellyHTTP/1.0.0
< Connection: close
<
{"ble":{},"bthome":{}, .....
usw usf korrekter json Output.
*******
Danke für Hinweise!
Es geht um Zugriff via http, konkret die URL. Nichts wirklich Hilfeiches bei Google gefunden.
In Shellyforen wieder keine Javakenntnisse (nur javascript)
"http://admin:passwort@192.168.178.146/rpc/Shelly.GetStatus"
Java Code:
URL url;
URLConnection con;
url = new URL(urlstr);
con=url.openConnection();
Solange am Shelly Authentication ausgeschaltet ist funktioniert das wunderbar.
MIT Authentication folgt ein "Error 401".
mit "curl" auf dem Radpberry Pi läuft die URL: (wie kriege ich das mit Java hin??)
curl http://admin:******@192.168.178.146/rpc/Shelly.GetStatus -v --digest
- Trying 192.168.178.146:80...
- Connected to 192.168.178.146 (192.168.178.146) port 80 (#0)
- Server auth using Digest with user 'admin'
< HTTP/1.1 401 UnauthorizedGET /rpc/Shelly.GetStatus HTTP/1.1
Host: 192.168.178.146
User-Agent: curl/7.88.1
Accept: /
< WWW-Authenticate: Digest qop="auth", realm="shelly2pmg3-e4b3231d66d4", nonce="1763706843", algorithm=SHA-256
< Content-Length: 0
< Server: ShellyHTTP/1.0.0
< Connection: close
<
- Closing connection 0
- Issue another request to this URL: 'http://admin:******@192.168.178.146/rpc/Shelly.GetStatus'
- Hostname 192.168.178.146 was found in DNS cache
- Trying 192.168.178.146:80...
- Connected to 192.168.178.146 (192.168.178.146) port 80 (#1)
- Server auth using Digest with user 'admin'
< HTTP/1.1 200 OKGET /rpc/Shelly.GetStatus HTTP/1.1
Host: 192.168.178.146
Authorization: Digest username="admin", realm="shelly2pmg3-e4b3231d66d4", nonce="1763706843", uri="/rpc/Shelly.GetStatus", cnonce="M2MwNTFlODRkZTBhMzA5N2I2OGQ3MTY5OGQwMTUxYmQ=", nc=00000001, qop=auth, response="9d52116c4807585f4d728118e5628e806bebd39d655765f06d5e6d6a856fdc6d", algorithm=SHA-256
User-Agent: curl/7.88.1
Accept: /
< Content-Type: application/json
< Content-Length: 1456
< Server: ShellyHTTP/1.0.0
< Connection: close
<
{"ble":{},"bthome":{}, .....
usw usf korrekter json Output.
*******
Danke für Hinweise!