HTTPS-Seite aufrufen

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
AudioSonic
Beiträge: 236
Registriert: 31.08.2014, 20:15

HTTPS-Seite aufrufen

Beitrag von AudioSonic » 07.02.2015, 08:49

Hallo Forum,

ich möchte mit folgendem Befehl eine HTTPS aufrufen:

Code: Alles auswählen

var url1 = "https://connect.froeling.com/FroelingGUI/";
var url2 = "http://www.froeling.com/de/";

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url1#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string frcon = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
 
WriteLine(frcon);

!dom.GetObject("Fröling_Connect").State(frcon);

WriteLine("Hallo Welt!");
Url2 funktioniert, url 1 nicht. Weiß jemand woran das liegt?

Danke!

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

Re: HTTPS-Seite aufrufen

Beitrag von Tobias78 » 07.02.2015, 09:41

Ich glaube wenn "https" statt "http" verwendet wird, dann muss hinter wget der Parameter "-s" ergänzt werden.
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

Benutzeravatar
AudioSonic
Beiträge: 236
Registriert: 31.08.2014, 20:15

Re: HTTPS-Seite aufrufen

Beitrag von AudioSonic » 07.02.2015, 11:08

danke für die Antwort,

habe mal -s ergänzt, scheint allerdings falsch zu sein, es wird im WebUI-Skript-Tester auf `wget --help' verwiesen. `wget --help' spuckt folgendes aus:

Code: Alles auswählen

GNU Wget 1.13.4, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...

Mandatory arguments to long options are mandatory for short options too.

Startup:
  -V,  --version           display the version of Wget and exit.
  -h,  --help              print this help.
  -b,  --background        go to background after startup.
  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.

Logging and input file:
  -o,  --output-file=FILE    log messages to FILE.
  -a,  --append-output=FILE  append messages to FILE.
  -d,  --debug               print lots of debugging information.
  -q,  --quiet               quiet (no output).
  -v,  --verbose             be verbose (this is the default).
  -nv, --no-verbose          turn off verboseness, without being quiet.
  -i,  --input-file=FILE     download URLs found in local or external FILE.
  -F,  --force-html          treat input file as HTML.
  -B,  --base=URL            resolves HTML input-file links (-i -F)
                             relative to URL.
       --config=FILE         Specify config file to use.

Download:
  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).
       --retry-connrefused       retry even if connection is refused.
  -O,  --output-document=FILE    write documents to FILE.
  -nc, --no-clobber              skip downloads that would download to
                                 existing files (overwriting them).
  -c,  --continue                resume getting a partially-downloaded file.
       --progress=TYPE           select progress gauge type.
  -N,  --timestamping            don't re-retrieve files unless newer than
                                 local.
  --no-use-server-timestamps     don't set the local file's timestamp by
                                 the one on the server.
  -S,  --server-response         print server response.
       --spider                  don't download anything.
  -T,  --timeout=SECONDS         set all timeout values to SECONDS.
       --dns-timeout=SECS        set the DNS lookup timeout to SECS.
       --connect-timeout=SECS    set the connect timeout to SECS.
       --read-timeout=SECS       set the read timeout to SECS.
  -w,  --wait=SECONDS            wait SECONDS between retrievals.
       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.
       --random-wait             wait from 0.5*WAIT...1.5*WAIT secs between retrievals.
       --no-proxy                explicitly turn off proxy.
  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.
       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.
       --limit-rate=RATE         limit download rate to RATE.
       --no-dns-cache            disable caching DNS lookups.
       --restrict-file-names=OS  restrict chars in file names to ones OS allows.
       --ignore-case             ignore case when matching files/directories.
  -4,  --inet4-only              connect only to IPv4 addresses.
  -6,  --inet6-only              connect only to IPv6 addresses.
       --prefer-family=FAMILY    connect first to addresses of specified family,
                                 one of IPv6, IPv4, or none.
       --user=USER               set both ftp and http user to USER.
       --password=PASS           set both ftp and http password to PASS.
       --ask-password            prompt for passwords.
       --no-iri                  turn off IRI support.
       --local-encoding=ENC      use ENC as the local encoding for IRIs.
       --remote-encoding=ENC     use ENC as the default remote encoding.
       --unlink                  remove file before clobber.

Directories:
  -nd, --no-directories           don't create directories.
  -x,  --force-directories        force creation of directories.
  -nH, --no-host-directories      don't create host directories.
       --protocol-directories     use protocol name in directories.
  -P,  --directory-prefix=PREFIX  save files to PREFIX/...
       --cut-dirs=NUMBER          ignore NUMBER remote directory components.

HTTP options:
       --http-user=USER        set http user to USER.
       --http-password=PASS    set http password to PASS.
       --no-cache              disallow server-cached data.
       --default-page=NAME     Change the default page name (normally
                               this is `index.html'.).
  -E,  --adjust-extension      save HTML/CSS documents with proper extensions.
       --ignore-length         ignore `Content-Length' header field.
       --header=STRING         insert STRING among the headers.
       --max-redirect          maximum redirections allowed per page.
       --proxy-user=USER       set USER as proxy username.
       --proxy-password=PASS   set PASS as proxy password.
       --referer=URL           include `Referer: URL' header in HTTP request.
       --save-headers          save the HTTP headers to file.
  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.
       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).
       --no-cookies            don't use cookies.
       --load-cookies=FILE     load cookies from FILE before session.
       --save-cookies=FILE     save cookies to FILE after session.
       --keep-session-cookies  load and save session (non-permanent) cookies.
       --post-data=STRING      use the POST method; send STRING as the data.
       --post-file=FILE        use the POST method; send contents of FILE.
       --content-disposition   honor the Content-Disposition header when
                               choosing local file names (EXPERIMENTAL).
       --auth-no-challenge     send Basic HTTP authentication information
                               without first waiting for the server's
                               challenge.

HTTPS (SSL/TLS) options:
       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,
                                SSLv3, and TLSv1.
       --no-check-certificate   don't validate the server's certificate.
       --certificate=FILE       client certificate file.
       --certificate-type=TYPE  client certificate type, PEM or DER.
       --private-key=FILE       private key file.
       --private-key-type=TYPE  private key type, PEM or DER.
       --ca-certificate=FILE    file with the bundle of CA's.
       --ca-directory=DIR       directory where hash list of CA's is stored.
       --random-file=FILE       file with random data for seeding the SSL PRNG.
       --egd-file=FILE          file naming the EGD socket with random data.

FTP options:
       --ftp-user=USER         set ftp user to USER.
       --ftp-password=PASS     set ftp password to PASS.
       --no-remove-listing     don't remove `.listing' files.
       --no-glob               turn off FTP file name globbing.
       --no-passive-ftp        disable the "passive" transfer mode.
       --retr-symlinks         when recursing, get linked-to files (not dir).

Recursive download:
  -r,  --recursive          specify recursive download.
  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).
       --delete-after       delete files locally after downloading them.
  -k,  --convert-links      make links in downloaded HTML or CSS point to
                            local files.
  -K,  --backup-converted   before converting file X, back up as X.orig.
  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.
  -p,  --page-requisites    get all images, etc. needed to display HTML page.
       --strict-comments    turn on strict (SGML) handling of HTML comments.

Recursive accept/reject:
  -A,  --accept=LIST               comma-separated list of accepted extensions.
  -R,  --reject=LIST               comma-separated list of rejected extensions.
  -D,  --domains=LIST              comma-separated list of accepted domains.
       --exclude-domains=LIST      comma-separated list of rejected domains.
       --follow-ftp                follow FTP links from HTML documents.
       --follow-tags=LIST          comma-separated list of followed HTML tags.
       --ignore-tags=LIST          comma-separated list of ignored HTML tags.
  -H,  --span-hosts                go to foreign hosts when recursive.
  -L,  --relative                  follow relative links only.
  -I,  --include-directories=LIST  list of allowed directories.
  --trust-server-names             use the name specified by the redirection
                                   url last component.
  -X,  --exclude-directories=LIST  list of excluded directories.
  -np, --no-parent                 don't ascend to the parent directory.

Mail bug reports and suggestions to  bug-wget@gnu.org .
Was sind die richtigen Parameter, kennt sich jemand damit aus?

Danke

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: HTTPS-Seite aufrufen

Beitrag von Familienvater » 07.02.2015, 14:33

Hi,

hast Du das mal einfach an der Konsole ausprobiert?
Bei mir passiert nämlich folgendes (CCU1):

Code: Alles auswählen

ccu:~ # wget -q -O - 'https://connect.froeling.com/FroelingGUI/'
wget: not an http or ftp url: https://connect.froeling.com/FroelingGUI/
Evtl. kann der wget auf der CCU gar kein https, dann müsstest Du es mit dem curl vom cuxd versuchen, und der braucht glaube ich auch einen extra Parameter, damit er das Zertifikat nicht überprüft...

Der Familienvater

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

HTTPS-Seite aufrufen

Beitrag von Tobias78 » 07.02.2015, 15:15

Probier mal das wget von CUxD zu nehmen. Das "normale" unterstützt meines Wissens kein https. Mit dem "-s" bin ich mir nicht sicher. Könnte auch ein Parameter von Curl gewesen sein.
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

Benutzeravatar
AudioSonic
Beiträge: 236
Registriert: 31.08.2014, 20:15

Re: HTTPS-Seite aufrufen

Beitrag von AudioSonic » 07.02.2015, 17:50

Hallo,

also wget kann kein HTTPS - das steht hiermit fest, allerdings mit cURL und CUxD 0.9 und folgendem Code funktioniert das ganze :D :

Code: Alles auswählen

var url1 = "https://connect.froeling.com/FroelingGUI/";
var url2 = "http://www.froeling.com/de/";

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -L " # url1 # "?cmd=urlaub");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string frcon = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();

WriteLine(frcon);

!dom.GetObject("Froeling_Connect").State(frcon);

WriteLine("Hallo Welt!");
Danke für eure HIlfe!!

Gruß

mademyday
Beiträge: 268
Registriert: 03.10.2014, 12:46
System: CCU
Wohnort: Enzkreis
Hat sich bedankt: 3 Mal
Danksagung erhalten: 43 Mal

Re: HTTPS-Seite aufrufen

Beitrag von mademyday » 25.12.2016, 09:32

hi!

ich habe da nun ein ähnliches Problem. Eine Seite die ich regelmäßig per wget abgefragt habe, hat nun auf https umgestellt (https://apod.nasa.gov/apod/) und keine der per wget angebotenen Protokolle (SSLv2, SSLv3, and TLSv1) klappt mit der Seite:
OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Unable to establish SSL connection.

(auch mit den Optionen --secure-protocol=TLSv1 --no-check-certificate)

lt. Browser ist die Seite mit TLS v1.2 verschlüsselt, aber das scheint das wget 1.13.4 auf der ccu2 nicht zu können.

Klappt das mit dem curl aus dem cuxd-addon (hab ich nicht installiert) - oder gibt es einen anderen Weg mit den Standard-Progs auf der ccu2 solche Seiten zu öffnen?

Benutzeravatar
uwe111
Beiträge: 4807
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 240 Mal
Kontaktdaten:

Re: HTTPS-Seite aufrufen

Beitrag von uwe111 » 26.12.2016, 11:48

mademyday hat geschrieben:Klappt das mit dem curl aus dem cuxd-addon (hab ich nicht installiert)
Mit dem Curl vom CUxD geht's leider auch nicht. :(

Code: Alles auswählen

# /usr/local/addons/cuxd/extra/curl -V
curl 7.46.0 (arm-unknown-linux-gnu) libcurl/7.46.0 OpenSSL/1.0.0j zlib/1.2.7
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets

# /usr/local/addons/cuxd/extra/curl https://apod.nasa.gov/apod/
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
#
Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Alfons
Beiträge: 31
Registriert: 18.01.2014, 20:08

Re: HTTPS-Seite aufrufen

Beitrag von Alfons » 02.07.2017, 15:36

Moin,

ich möchte auch eine https url aufrufen, komme aber mit dem oben stehenden Beispiel nicht klar.

Welche Art von CUxD Schalter benötige ich?

Wie sieht das Script für einen Link aus?

Hintergrund:
Ich möchte eine Netgear Arlo Kamera mittels eines Homematic Bewegungsmelders schalten. Mit einem IFTTT Applet und Maker Webhooks habe ich einen https-Link erstellt, der, im Browser ausgeführt, die Kamera in den Aufnahmemodus bringt. Müsste diesen Link als "nur" noch durch ein Homatic-Programm aufrufen lassen ...

Vielen Dank vorab,

Alfons

Benutzeravatar
blackhole
Beiträge: 3718
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 586 Mal

Re: HTTPS-Seite aufrufen

Beitrag von blackhole » 02.07.2017, 16:20

uwe111 hat geschrieben:Mit dem Curl vom CUxD geht's leider auch nicht. :(

Code: Alles auswählen

...
#/usr/local/addons/cuxd/extra/curl https://apod.nasa.gov/apod/
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Es geht nicht auf die saubere Weise. Aber es geht schmutzig:

Code: Alles auswählen

/usr/local/addons/cuxd/extra/curl -k https://apod.nasa.gov/apod/

Antworten

Zurück zu „CUxD“