zugang zum lokalen webinterface?

Für Fragen von Einsteigern und Programmieranfängern...

zugang zum lokalen webinterface?

Beitragvon reiter » 21. Dez 2017, 19:42 zugang zum lokalen webinterface?

ich hab noch ein problem
teilweise funktioniert es schon.
im moment muss ich die ip und port mit in den quellccode schreiben da funktioniert der login mit verschiedenen ports
nun möchte ich das aber trennen und wie im foto die ip und port in der form eingeben
wie deklariere ich das , das die ip und port auch in der oberfläche eingegeben werden kann , da ich mehrere Boxen habe und die mit verschiedenen ip's und Ports nutze

Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
 
var
  HTTP: TIdHTTP;
 
begin
  HTTP := TIdHTTP.Create;
  try
    HTTP.Request.BasicAuthentication := True;
    HTTP.HandleRedirects := True;
 
    HTTP.Request.Username := UsernameEdit.Text;
    HTTP.Request.Password := PasswordEdit.Text;
    Memo1.Lines.Text := StringReplace(HTTP.Get('http://192.168.35.147:81'),'<br>',sLineBreak,[rfReplaceAll]); // möchte die IP und Port in einer maske eingeben siehe foto
  finally
    HTTP.Free;
  end;
end;
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von m.fuchs am 22. Dez 2017, 14:42, insgesamt 1-mal geändert.
Grund: Highlighter hinzugefügt
reiter
 
Beiträge: 63
Registriert: 18. Nov 2017, 16:58

Beitragvon reiter » 22. Dez 2017, 22:41 Re: zugang zum lokalen webinterface?

Mitt dem http Proxy Port geht's leider nicht...
Wie kann ich das den noch realisieren?
reiter
 
Beiträge: 63
Registriert: 18. Nov 2017, 16:58

Beitragvon h-elsner » 23. Dez 2017, 13:08 Re: zugang zum lokalen webinterface?

Ich denke, einfach ein Edit Feld anlegen, wo die IP-Adresse eingetragen werden kann. Besser noch eine ComboBox, wo die letzten 4-5 benutzten IP-Adressen gespeichert werden.
Die aktuelle steht dann in der ComboBox.Text.
Zum Überprüfen, ob die Eingabe wirklich eine gültige IP-Adresse ist, habe ich das hier gefunden:

Code: Alles auswählen
 
uses RegexPr;
 
function IsIPAddress(const inp: string): boolean;
var IPRegex: TRegExpr;
begin
  try
    IPRegex:=TRegExpr.Create;
    IPRegex.Expression:=RegExprString('\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b');
       hier gegebenfalls noch deine Subnetzmaske überprüfen
    result:=IPRegex.Exec(inp);
  finally
    IPRegex.Free;
  end;
end;
 
IPaddress:=trim(ComboBox1.Text);
If IsIPAddresss(IPaddress) then begin
  {hier hast du eine gültige IP-Adresse im String IPaddress}
 
   Mach was mit der IPaddress ...
 
end else begin
 
  Fehlerbehandlung - Falsche Eingabe oder so...
 
end;
 


Für Port gilt die gleiche Vorgehensweise. Wie du die letzten gültigen Eingaben in der ComboBox merkst, kannst du im Qulltext von q500log2kml nachsehen, den ich dir ja geschickt habe.

Gruß und schöne Weihnachten, HE
h-elsner
 
Beiträge: 45
Registriert: 24. Jul 2012, 14:42
Wohnort: Illertissen
OS, Lazarus, FPC: LINUX Mint18.3, Win10, Lazarus 1.8, FPC3.0.4 | 
CPU-Target: 64Bit
Nach oben

Beitragvon reiter » 23. Dez 2017, 15:07 Re: zugang zum lokalen webinterface?

Danke Helmut...
Werde ich mir nachher zur Gemüte führen...
Vielen Dank für deine Hilfe... Das mit der compobox ist ne super Idee da ich ja mehrere IP Adressen und Ports ansprechen möchte
reiter
 
Beiträge: 63
Registriert: 18. Nov 2017, 16:58

Beitragvon theo » 23. Dez 2017, 17:31 Re: zugang zum lokalen webinterface?

@reiter: Ich verstehe deine Frage nicht.
theo
 
Beiträge: 8063
Registriert: 11. Sep 2006, 18:01

Beitragvon reiter » 23. Dez 2017, 18:43 Re: zugang zum lokalen webinterface?

@theo
Also es ist so das ich das realisieren will wie auf dem Foto...
Weiß aber nicht wie ich das mit der IP und Port noch realisieren soll
Als Beispiel steht da die IP als Ausgabe um den Benutzername und Passwort zu testen, das funktioniert ja auch..
Jetzt muss ich nur einen Weg finden wie ich die IP und Port nicht als Ausgabe sondern Eingabe deklarieren kann also wie auf dem Foto die IP eingegeben wird,der Port,Username,Passwort und der Login funktioniert... In den memofeld soll dann ne Ausgabe hin... Das ist im Moment nur ein Test das der Login funktioniert...
Ich hoffe jetzt ist es besser zu verstehen
reiter
 
Beiträge: 63
Registriert: 18. Nov 2017, 16:58

Beitragvon theo » 23. Dez 2017, 19:12 Re: zugang zum lokalen webinterface?

reiter hat geschrieben:Ich hoffe jetzt ist es besser zu verstehen

Nicht wirklich. Ich weiß nicht wo dein Problem ist.
Username und Passwort liest du ja auch aus dem Formular.
Warum soll das mit der IP Adresse nicht auch gehen?

Oder verstehe ich dich komplett falsch?
theo
 
Beiträge: 8063
Registriert: 11. Sep 2006, 18:01

Beitragvon reiter » 23. Dez 2017, 21:01 Re: zugang zum lokalen webinterface?

Nein... Verstehst schon richtig...
Wenn ich http.request.port := Portedit.text; (bzw. http.port := Portedit.text;)
Schreibe bringt er mir Fehler... Muss ich das noch in var deklarieren ?
Das selbe bei der IP
reiter
 
Beiträge: 63
Registriert: 18. Nov 2017, 16:58

Beitragvon m.fuchs » 23. Dez 2017, 21:31 Re: zugang zum lokalen webinterface?

reiter hat geschrieben:Wenn ich http.request.port := ; (bzw. http.port := Portedit.text;)
Schreibe bringt er mir Fehler... Muss ich das noch in var deklarieren ?

Nein, ich fürchte du musst ganz dringend mal ein Einsteigerwerk für Pascal lesen. Essential Pascal ist recht brauchbar und kostet nichts.

Die Property Port ist kein String, sondern ein Integer. Du müsstest StrToInt verwenden um das umzuwandeln.

reiter hat geschrieben:Das selbe bei der IP

Keine Ahnung wo du das eintragen willst, ABER: Du verwendest doch schon HTTP.Get in deinem Quellcode. Anstelle des festkodierten Strings, musst du halt die Daten aus den Eingabefeldern hineinpacken.

Code: Alles auswählen
HTTP.Get(ComboBox1.Text + ':' + Portedit.text)
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
m.fuchs
 
Beiträge: 1971
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.8.4, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon reiter » 23. Dez 2017, 22:36 Re: zugang zum lokalen webinterface?

Ok danke für den Link...
Ich lese schon ne Weile sehr viel und Weiß das ich mir erstmal weitere Grundlagen aneignen muss
Und kleinere Brötchen backen
Danke für die Hilfe

PS:
danke für die zeile.. jetzt ist es fast wie ich es gern hätte

(HTTP.Get(ComboBox1.Text + ':' + ComboBox2.Text)

das funktioniert .
das einzigste, ich muss bei IP der Box (ComboBox1.Text) statt der IP 192.168.100.100 das Http:// davorschreiben also statt 192.168.100.100 muss ich http://192.168.100.100 schreiben... das mit dem port funktioniert
kann man das http nicht in die zeile intigrieren?

danke
reiter
 
Beiträge: 63
Registriert: 18. Nov 2017, 16:58

Beitragvon h-elsner » 24. Dez 2017, 00:41 Re: zugang zum lokalen webinterface?

Ich habe dir mal eine kleine Testanwendung geschrieben:
- Simple Eingabefelder für IP Adresse, Portnummer, Login und Passwort
- IP und Port wird geprüft
- er merkt sich die letzten zehn IP-Adressen
- Er merkt sich die Session Properties für den nächsten Programmstart.

Das ist stark vereinfacht (nur als Demo, wie es sein könnte), aber Teile kannst du bei dir irgendwie verwenden. Die Ausgabe in ein Memo zu schreiben, ist auch ungeschickt, weil du mit der Ausgabe bestimmt was anfangen willst. Das musst du dir dann überlegen...

Eingaben in DropDownListe merken:
Code: Alles auswählen
 
      if ComboBox1.Items.IndexOf(ComboBox1.Text)<0 then  {wenn IP noch nicht in der Liste}
        ComboBox1.Items.Insert(0, ComboBox1.Text);       {oben eintragen}
      if ComboBox1.Items.Count>AnzIPs then ComboBox1.Items.Delete(AnzIPs); {Anzahl begrenzen}
 


URL zusammenbauen (ComboBox1.Text enthält geprüfte IP Adresse, Edit2.Text enthält geprüfte Portnummer):

Code: Alles auswählen
 
    Memo1.Text:=HTTP.Get('http://'+ComboBox1.Text+':'+Edit2.Text);
 


Gruß HE
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
h-elsner
 
Beiträge: 45
Registriert: 24. Jul 2012, 14:42
Wohnort: Illertissen
OS, Lazarus, FPC: LINUX Mint18.3, Win10, Lazarus 1.8, FPC3.0.4 | 
CPU-Target: 64Bit
Nach oben

Beitragvon reiter » 24. Dez 2017, 09:44 Re: zugang zum lokalen webinterface?

Hallo Helmut...
Vielen Dank für das Demo...
Hab ich mich sehr gefreut... Sowas habe ich im Netz die ganze Zeit gesucht aber nirgends gefunden...
Vielen Dank
Und fröhliche Weihnachten...

Gruß
Andy
reiter
 
Beiträge: 63
Registriert: 18. Nov 2017, 16:58

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried