HTTP_GET

Begonnen von klaus1, 24. Mai 2017, 12:02:19

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

klaus1

stell ich mir das zu einfach vor:
VAR
   HTTP_GET: HTTP_GET;
   httpdata: URL;
   IP_C: IP_C;
    S_BUF: NETWORK_BUFFER;
    R_BUF: NETWORK_BUFFER;
END_VAR

IF AKTION = TRUE THEN
httpdata  := STRING_TO_URL(CONCAT(CONCAT(CONCAT('https://user:Kennwort@192.168.1.50:443/beckhoff/pushbullet.php?subject=',smtp_subject),'&'),smtp_body),'','');
HTTP_GET(GET := TRUE, URL_DATA := httpdata,  IP_C := IP_C, S_BUF := S_BUF, R_BUF := R_BUF);
END_IF;

HTTP_GET.GET := FALSE;

DONE wird nie true... :-( geht überhaupt HTTPS ? Bei port steht null, darum explizit mit 443 angegeben!


peewit

hallo

auf jeden fall musst du noch den baustein IP_CONTROL damit verknüpfen

öffne die oscat.network lib als projekt und schau mal in den order "demo" dort gibt es auch ein demoprogramm wo http verwendet wird.

klaus1

#2
Danke für die Info.
leider immer noch kein Erfolg (auch ohne authentication und mit http)  :-[

VAR
   HTTP_GET: HTTP_GET;
   IP_CONTROL_1: IP_CONTROL;
   DNS_CLIENT: DNS_CLIENT;
   URL_DATA: URL;
   IP_C: IP_C;
    S_BUF: NETWORK_BUFFER;
    R_BUF: NETWORK_BUFFER;
   TON_1: TON;
   F_TRIG: F_TRIG;
   http_release: BOOL;
   http_get_done: BOOL;
   enable: BOOL:=TRUE;
END_VAR

IF AKTION = TRUE THEN
      URL_DATA := STRING_TO_URL('http://192.168.1.50/pushbullet.php?subject=Title&msg=test','','');
      DNS_CLIENT(ACTIVATE:=enable, DOMAIN:=URL_DATA.DOMAIN,IP_C:=IP_C,S_BUF:=S_BUF,R_BUF:=R_BUF);

          IP_CONTROL_1(IP := DWORD_OF_BYTE(192,168,1,50),TIME_OUT:=T#4s, S_BUF := S_BUF, R_BUF := R_BUF, IP_C := IP_C);
      HTTP_GET(IP4:=DNS_CLIENT.IP4,GET := DNS_CLIENT.DONE, URL_DATA := URL_DATA,  IP_C := IP_C, S_BUF := S_BUF, R_BUF := R_BUF,MODE:=0, UNLOCK_BUF:=http_release);
      http_get_done := HTTP_GET.DONE;
      TON_1(IN:=http_get_done,PT:=T#1s);
      http_release := TON_1.Q;
          F_TRIG.CLK:=http_get_done;
      enable := F_TRIG.Q;
END_IF;

HTTP_GET.GET := FALSE;

peewit

hallo

in deinem beispiel spielt zwar keine rolle aber bei

IP_CONTROL_1(IP := DWORD_OF_BYTE(192,168,1,50)

musst du an ansich die ip-adresse des dns angeben
das ist normalerweise ein dns im internet oder dein router

aber egal

ich empfehle dir im demo ordner das programm "http_demo" zu nehmen und damit die ersten schritten zu machen

wenn es nicht geht dann schaue auf die bausteine. die geben nähmlich auch informationen aus (fehlercodes etc..)

diese infos benötige ich um einen kommentar abgeben zu können. !!

klaus1

#4
Danke für deine Hilfe!
Mein Router / DNS hat die IP 192.168.1.1 werde gleich Mal ändern.
Ich tu mir schwer mit Demo da ich im Structured Text arbeite. Das Demo aber grafisch vorliegt...

HTTP_STATUS: ''
ERROR: 0
UNLOCK_BUF =FALSE
DONE =FALSE

klaus1

gibt es auch ein stuctured Text beispiel, das ich einbinden kann? Vielen Dank.

peewit

in der bibliothek selber gibt es einen ordner mit demo-programmen

Dagoberto

Understand that this is the place to gather the right knowledge and read it immediately.