# Tool für vielfache HTTP von commandline



## PFEdi (14. Mai 2019)

Hi,

Ich suche nach einer Möglichkeit einfach mehrere HTTP requests abzusetzen.
Dabei geht es mir darum, auf eine definierte URL nach dem Format requests zu senden:


			http://HOSTNAME/path/action?var1=val1&var2=val2&var3=val3
		


Dabei sollen die val1 - val3 verschiedene werte haben (aus vordefinierten arrays, zufällig)
    var1=(1,2,3,4,5,6,7,8,9)
    var2=("aaa", "bbb", "ccc", "ddd")
    var2=(q,w,e)

Dabei würde ich gerne einstellen ob
* requests parallel geschickt werden und wen wie viele
* wieviele requests geschickt werden
** beschränkt durch eine anzahl(XX requests)
** beschränkt durch eine Zeit (XX minuten)

Gibt es ein commandline tool (das ich nicht installieren muss und am besten nur aus dem Binary besteht) 
für Linux / Windows wie curl mit dem ich das EINFACH realisieren kann?


----------



## kneitzel (14. Mai 2019)

curl hast Du schon erwähnt, wget gibt es auch, was sinnvoll ist, so etwas herunter geladen werden soll.

Unter Windows gibt es das natürlich auch. Entweder mit aktuellem Windows 10 über das Linux Subsystem, cygwin oder man lädt die Tools (z.B. mit mingw compiliert) herunter.
curl finde ich für windows direkt unter https://curl.haxx.se/windows/
wget und weitere GNU Tools: http://gnuwin32.sourceforge.net/packages/wget.htm

Edit: Und das mit den Variablen, die Du setzen willst: Den Parameter kannst Du ja in einem Script entsprechend setzen und so...


----------



## Dukel (14. Mai 2019)

Unter Windows kann man die Powershell nutzen.








						Invoke-WebRequest (Microsoft.PowerShell.Utility) - PowerShell
					

The Invoke-WebRequest cmdlet sends HTTP and HTTPS requests to a web page or web service. It parses the response and returns collections of links, images, and other significant HTML elements. This cmdlet was introduced in PowerShell 3.0. Beginning in PowerShell 7.0, Invoke-WebRequest supports...



					docs.microsoft.com


----------



## PFEdi (17. Mai 2019)

Hey ja mir ist schon klar das es tools gibt die einen einfachen request senden - deswegen habe ich ja auch curl erwähnt.

aber das müsste ich dann ja mit einem script (da würde ich klar bash/shell nehmen) füttern die erst "manuel" (zumindest der mechanissmuss muss ausprogrammiert werden) die verschiedenen requests erstellt.
Außerdem kann ich damit nicht dann vorgeben wie lange es laufen soll so einfach.

Ob es da nicht ein tool gibt, das mir eben diese arbeit ab nimmt.


----------



## Dukel (17. Mai 2019)

Was ist denn dein Ziel? Dann kann man evtl. besser Unterstützen.
Vermutlich gibt es kein solches Tool und man muss vorhandene Tools steuern.


----------



## PFEdi (18. Mai 2019)

Naja ich möchte viele HTTP requests absetzten, die Ergebnisse sind nicht so wichtig.

Dabei sollen die requests nicht immer die selben sein sondern immer die gleichen sein, sondern eben verschiedene.
Eben mit den verschiedenen werten randomisierte Kombinationen.

Diese request sollen "dauer gesendet werden" entweder um XX hundert requests gesendet zu haben oder um XX minuten requests gesendet zu haben.

Das ist das Ziel (oder meinst du was anderes?)


----------



## mihe7 (18. Mai 2019)

PFEdi hat gesagt.:


> Dabei sollen die requests nicht immer die selben sein sondern immer die gleichen sein, sondern eben verschiedene.
> Eben mit den verschiedenen werten randomisierte Kombinationen.


JMeter sollte das können.


----------



## Dukel (19. Mai 2019)

_Warum_ möchtest du das machen? Willst du Applikationen testen? Willst du Performance testen?
So kommt man dann auf mögliche Lösungen wir JMeter, die man mit der Ursprünglichen Anfrage nichts zu tun haben.


----------

