Öffnen Sie die Website, ohne sie im Browser vom Terminal aus zu öffnen

14

Ist es möglich, eine Website vom Terminal aus zu öffnen, ohne dass tatsächlich ein neuer Tab geöffnet wird?

Beispiel: open https://www.google.co.uk/Öffnet eine neue Registerkarte in der Standardanwendung und ruft diese Website auf.

Ich möchte nur einen Befehl, der den Aufruf der Website nachahmt, aber keinen Tab öffnet oder etwas anzeigt.

Der Grund dafür ist, dass ich versuche, einen Befehl auf einer Website aufzurufen, aber nicht möchte, dass etwas auftaucht. Ich möchte nur, dass er den Befehl aufruft.

Rekovni
quelle
Was ist der Grund, warum Sie den Befehl aufrufen möchten - Sie möchten, dass der Webserver eine Aktion für Sie ausführt?
chrylis -on strike-
@chrylis das ist richtig. Die Website bietet keine API für das, was ich erreichen möchte, aber es gibt eine Schaltfläche, die ein Benutzer drücken kann, um dies zu tun, und Sie können die URL sehen, die der Klick auf die Schaltfläche bewirken würde.
Rekovni
1
Sie könnten an headless chrome interessiert sein: developers.google.com/web/updates/2017/04/headless-chrome . chrome --headless --disable-gpu https://www.google.comdas läuft auch mit javascript ( curltut dies aber nicht).
Bakuriu

Antworten:

25

Sie können verwenden curl

curl https://www.google.co.uk/

und wenn du die Ausgabe nicht willst

curl --silent https://www.google.co.uk/ > /dev/null
Matteo
quelle
17
Dies setzt voraus, dass Sie nur die Anforderung ausführen möchten, sich aber nicht um 1) JS auf der Seite 2) Bilder auf der Seite 3) sekundäre Anforderungen auf der Seite usw. kümmern. Andernfalls müssen Sie einen Browser ohne Kopf verwenden.
David Mulder
@DavidMulder Oder verwenden Sie eine CLI-freundliche REST-API, falls verfügbar.
chrylis -on strike-
4

Curl und Wget können zum Aufrufen einer Website verwendet werden. Wenn Sie jedoch eine Funktion auf der Website imitieren möchten, ahmen diese nicht genau den Benutzer nach, der eine Anforderung in einem Browser ausführt.

Browser haben Engines, die CSS, Javascript und HTML verarbeiten. Deshalb müssen Sie sie verwenden.

Wenn Sie eine Website verwenden möchten, als ob ein Benutzer die Website über einen Browser verwendet hätte, ohne den Browser zu öffnen, sollten Sie einige Frameworks für kopflose Tests wie PhantomJS prüfen. Andernfalls verfügt Browserstack einer Browsertestplattform über eine API, auf die Sie zugreifen können Öffnen Sie einen Browser-Tab, aber in einer Cloud-VM irgendwo, also nicht auf Ihrem Computer.

user618509
quelle