![]() |
Per HTTP einen Befehl senden
Hallo!
Ich habe ein Gerät, dass ich fernsteuern kann. Die Befehle werden per HTTP versand. Wie kann ich jetzt z.B. einen Befehl
Code:
per http versenden?
http://192.168.0.200/apicmd.asp?cmd=play
Vielen Dank schonmal! |
Re: Per HTTP einen Befehl senden
|
Re: Per HTTP einen Befehl senden
Danke werds mir mal anschauen.
|
Re: Per HTTP einen Befehl senden
Benutze nicht den POST-Befehl, sondern den GET Befehl... bei Indy hatte ich probleme, ich benutze immer diese Funtion:
Delphi-Quellcode:
Aufrufen kannst du die Funktion dann so:
Function GetHTML(AUrl: string): string;
var databuffer : array[0..4095] of char; ResStr : string; hSession, hfile: hInternet; dwindex,dwcodelen,dwread,dwNumber: cardinal; dwcode : array[1..20] of char; res : pchar; Str : pchar; begin ResStr:=''; hSession:=InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); if assigned(hsession) then begin hfile:=InternetOpenUrl( hsession, pchar(AUrl), nil, 0, INTERNET_FLAG_RELOAD, 0); dwIndex := 0; dwCodeLen := 10; HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); res := pchar(@dwcode); dwNumber := sizeof(databuffer)-1; if (res ='200') or (res ='302') then begin while (InternetReadfile(hfile, @databuffer, dwNumber, DwRead)) do begin if dwRead =0 then break; databuffer[dwread]:=#0; Str := pchar(@databuffer); resStr := resStr + Str; end; end else ResStr := 'Status:'+res; if assigned(hfile) then InternetCloseHandle(hfile); end; InternetCloseHandle(hsession); Result := resStr; end;
Delphi-Quellcode:
Möglicherweise in eine Variable rein und du hast die Antwort... so hab ich's bei unserem Router gemacht...
GetHTML('http://192.168.0.200/apicmd.asp?cmd=play&action=wasweissich');
|
Re: Per HTTP einen Befehl senden
ShellExecute wäre auch noch 'ne Möglichkeit:
Delphi-Quellcode:
ShellExecute(0, nil, 'http://192.168.0.200/apicmd.asp?cmd=play', nil, nil, 0);
S := 'http://192.168.0.200/apicmd.asp?cmd=play'; ShellExecute(0, nil, PChar(S), nil, nil, 0); |
Re: Per HTTP einen Befehl senden
Öffnet sich dann nicht der Browser?
|
Re: Per HTTP einen Befehl senden
nein, da das command 'open' fehlt..
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz