Autor Thema: HTTP_GET  (Gelesen 341 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline klaus1

  • Newbie
  • *
  • Beiträge: 30
    • Profil anzeigen
    • E-Mail
HTTP_GET
« am: 24. Mai 2017, 12:02:19 »
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!


Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 188
    • Profil anzeigen
Re: HTTP_GET
« Antwort #1 am: 24. Mai 2017, 12:43:01 »
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.

Offline klaus1

  • Newbie
  • *
  • Beiträge: 30
    • Profil anzeigen
    • E-Mail
Re: HTTP_GET
« Antwort #2 am: 24. Mai 2017, 13:37:20 »
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;
« Letzte Änderung: 24. Mai 2017, 15:13:39 von klaus1 »

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 188
    • Profil anzeigen
Re: HTTP_GET
« Antwort #3 am: 25. Mai 2017, 07:00:03 »
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. !!

Offline klaus1

  • Newbie
  • *
  • Beiträge: 30
    • Profil anzeigen
    • E-Mail
Re: HTTP_GET
« Antwort #4 am: 25. Mai 2017, 07:58:53 »
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
« Letzte Änderung: 25. Mai 2017, 08:29:44 von klaus1 »