Öffnen Sie Chrome mit der Methode „Posten Sie Textdaten unter einer bestimmten URL“

Öffnen Sie Chrome mit der Methode „Posten Sie Textdaten unter einer bestimmten URL“

Ich möchte Chrome mit einer URL-Methode POST und einigen Daten wie ValueOne=Value1 und ValueTwo=Value2 usw. öffnen …

Ist dies über die Befehlszeile oder im Batch möglich?

Wie "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "http://www.url.com" UndHierDieKörperdaten

Danke

Antwort1

Soweit ich weiß, gibt es dafür keine direkte Möglichkeit. Aber ich habe einen Workaround verwendet:

TLDR: Verwenden Sie eine Daten-URL, die ein automatisch übermittelndes Formular enthält.

Daten-URLskann HTML enthalten, das der Browser anzeigen wird. Also habe ich ein Formular mit den POST-Daten und JS zur automatischen Übermittlung an diese URL erstellt. Ich musste die Daten als Base_64 kodieren.

Zunächst sieht das HTML, das über die Daten-URL an den Browser übergeben wird, folgendermaßen aus:

<body onload="document.s.submit()">
  <form action="domain.tld/path/script.php" name="s" method="post">
    <input type="hidden" name="action" value="edit"> 
    <input type="submit" value="go">
  </form>
</body>

Als nächstes sieht das grundlegende Format des Befehls und der Daten-URL folgendermaßen aus:

start chrome /new-window data:text/html;charset=utf-8;base64,',[base_64_enceded_url] plain-url-in-a-second-tab.tld/path

Zum Testen verwendete ich einOnline-Base64-Encoder, aber für meine eigentliche Aufgabe habe ich eine txt-Datei über MySQL erstellt, aus der ich nach und nach einzelne Zeilen ausgeschnitten und in die Befehlszeile eingefügt habe:

CONCAT ('start chrome /new-window data:text/html;charset=utf-8;base64,',
 REPLACE(TO_BASE64(CONCAT('<body onload="document.s.submit()"> <form action="somedomain.tld/admin/new_attrib.php" name="s" method="post"><input type="hidden" name="action" value="edit"><input type="submit" value="go"></form></body>')), '\n', ''), ' "anotherurl.tld/somepage.php?products_id=',p.products_id,'&action=edit"  AS PasteMeToWindowsCMD

(Ich habe REPLACE() hinzugefügt, weil TO_BASE64() Zeilenumbrüche hinzufügt. Diese hätten mein Vorhaben, mehrere Befehle gleichzeitig in CMD einzufügen, zunichte gemacht und das Einfügen von Befehlen aus einer Textdatei in CMD komplizierter gemacht.)

Damit erhielt ich für jede Entität (Produkt), die ich bearbeiten musste, ein Browserfenster mit drei Registerkarten für die drei Stellen, an denen ich Änderungen vornehmen musste.

verwandte Informationen