none
Wert einer Http-Seite holen RRS feed

  • Frage

  • Hallo Welt!

    Wie kann ich bewerkstelligen das ich einen Wert einer HTTP/HTTPS - Seite bekomme den ich als Variable in die Powershell importieren kann.

    z.B. Habe eine Homepage in der eine Fläche berechnet wird, dort gebe ich Länge und Breite ein Länge 20, Breite 30.Die Homepage berechnet die Fläche und gibt 600 aus.

    Jetzt suche ich ein ComLet das mit die 600 gibt.

    $Fläche = Get-

    In der Variablen $Fläche soll dann 600 stehen.

    Danke

    Freitag, 22. Juli 2016 18:45

Antworten

  • Du kannst mit dem Befehl Invoke-Webrequest den Inhalt der Seite herunterladen und diesen dann nach dem gewünschten Inhalt durchsuchen. Ein Beispiel gibts z.b. hier: LINK.
     
    Gruß, Denniver


    Blog: http://bytecookie.wordpress.com

    Neu: Powershell Code Manager v5 ! Link
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.



    Freitag, 22. Juli 2016 21:43
    Moderator
  • ...und dann musst Du natürlich noch schauen, wie Du die Werte übergibst.

    Wenn Dein Formular auf GET reagiert, ist es natürlich easy, da musst Du nur die URL um so etwas wie ?breite=20&hoehe=30 ergänzen.

    Akzeptiert Dein Formular hingegen nur POST, dann musst Du vorher noch den requestBody komponieren:

    $req_body = @{breite='20';hoehe='30'}
    Invoke-Webrequest -Uri http://meine.websei.te -Method POST -Body $req_body


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://it-pro-berlin.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    In theory, there is no difference between theory and practice. In practice, there is.


    Samstag, 23. Juli 2016 07:39
  • Moin,

    das ist ein schlechtes Beispiel ;-) Die Seite verwendet JavaScript und berechnet die Ergebnisse direkt im Browser, ohne nach dem ursprünglichen Laden der Seite den Server nochmal zu kontaktieren.

    Auch so etwas ließe sich vermutlich unter großen Verrenkungen in PowerShell ansteuern und wäre auch eine nette Übung, aber kaum Stoff für einen Forenthread. Da musst Du zuerst HTML und JavaScript richtig lernen...

    Die ursprünglichen Werte der Felder kannst Du aber mit

    $response = Invoke-WebRequest "http://www.matheretter.de/formeln/geometrie/rechteck"
    $response.ParsedHtml.all['seite_a'].defaultValue
    $response.ParsedHtml.all['seite_b'].defaultValue

    herausfinden.


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://it-pro-berlin.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    In theory, there is no difference between theory and practice. In practice, there is.

    Sonntag, 24. Juli 2016 18:26

Alle Antworten

  • Du kannst mit dem Befehl Invoke-Webrequest den Inhalt der Seite herunterladen und diesen dann nach dem gewünschten Inhalt durchsuchen. Ein Beispiel gibts z.b. hier: LINK.
     
    Gruß, Denniver


    Blog: http://bytecookie.wordpress.com

    Neu: Powershell Code Manager v5 ! Link
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.



    Freitag, 22. Juli 2016 21:43
    Moderator
  • ...und dann musst Du natürlich noch schauen, wie Du die Werte übergibst.

    Wenn Dein Formular auf GET reagiert, ist es natürlich easy, da musst Du nur die URL um so etwas wie ?breite=20&hoehe=30 ergänzen.

    Akzeptiert Dein Formular hingegen nur POST, dann musst Du vorher noch den requestBody komponieren:

    $req_body = @{breite='20';hoehe='30'}
    Invoke-Webrequest -Uri http://meine.websei.te -Method POST -Body $req_body


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://it-pro-berlin.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    In theory, there is no difference between theory and practice. In practice, there is.


    Samstag, 23. Juli 2016 07:39
  • Danke

    damit kann ich arbeiten.

    Der Link ist auch hilfreich. :-)

    Sonntag, 24. Juli 2016 06:27
  • Habe das mit dem Parsen leider noch nicht verstanden.

    Wenn ich diese Homepage "http://www.matheretter.de/formeln/geometrie/rechteck/" als Beispiel nehme.

    Wie kann ich den Wert der in dem Feld  "Seite a:"  steht exportieren ? "3" hätte ich gerne.

    Wie könnte ich einen Wert z.B. 8 in das Feld "Seite b:" schreiben lassen.

    Fragen über Fragen.

    Danke Heiko

    Sonntag, 24. Juli 2016 17:36
  • Moin,

    das ist ein schlechtes Beispiel ;-) Die Seite verwendet JavaScript und berechnet die Ergebnisse direkt im Browser, ohne nach dem ursprünglichen Laden der Seite den Server nochmal zu kontaktieren.

    Auch so etwas ließe sich vermutlich unter großen Verrenkungen in PowerShell ansteuern und wäre auch eine nette Übung, aber kaum Stoff für einen Forenthread. Da musst Du zuerst HTML und JavaScript richtig lernen...

    Die ursprünglichen Werte der Felder kannst Du aber mit

    $response = Invoke-WebRequest "http://www.matheretter.de/formeln/geometrie/rechteck"
    $response.ParsedHtml.all['seite_a'].defaultValue
    $response.ParsedHtml.all['seite_b'].defaultValue

    herausfinden.


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://it-pro-berlin.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    In theory, there is no difference between theory and practice. In practice, there is.

    Sonntag, 24. Juli 2016 18:26
  • Hammer wie schnell das ging.

    Vielen Dank

    Heiko

    Sonntag, 24. Juli 2016 19:45
  • Heute bin ich wieder im Büro und wollte mein neues Wissen anwenden.

    Prompt bekomme ich eine Fehlermeldung : Invoke-WebRequest : Unauthorized
    This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password)

    Der Server ist ein Ubuntu 14.01.1 LTS auf dem OTRS (Ein Ticketsystem) läuft.

    Montag, 25. Juli 2016 10:15
  • Ja, das OTRS möchte wohl, dass Du dich anmeldest ;-)

    Auch dafür hat Invoke-WebRequest einen Parameter...


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://it-pro-berlin.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    In theory, there is no difference between theory and practice. In practice, there is.

    Mittwoch, 27. Juli 2016 17:07