2011-02-03 8 views

risposta

13

Probabilmente solo bisogno di citare l'URL per evitare shell caratteri speciali da essere interpretato. In questo caso il tuo simbolo & fa sì che il testo a sinistra venga eseguito in background mentre tenta di eseguire superDo come comando.

ab -n 1 -c 1 'http://localhost:2020/welTo.do?pxtId=3000007937&superDo=jack' 
+0

funzionato, ma (almeno su Windows) ho bisogno di utilizzare le virgolette doppie ('" ') – thaddeusmt

3

Hai provato il file di post? che questo dovrebbe funzionare:

ab -n 1 -c 1 -p postfile.txt -T 'application/x-www-form-urlencoded' http://localhost:2020/welTo.do

E poi fare un file flat di nome postfile.txt con contenuti di questo tipo:

pxtId=3000007937&superDo=jack 

Esempio atta from here

+0

Hey è possibile specificare il palo dati all'interno del comando stesso invece del file come in Curl? –

+0

Secondo i documenti questa opzione non è disponibile, ma è possibile creare una named pipe e leggerla da essa, che è praticamente come memorizzare i contenuti in un file. Qualche ragione per cui non puoi usare un file tradizionale? – Purefan

+0

È più comodo specificare i parametri nel comando, specialmente quando sono pochi. E dal momento che curl e altri strumenti lo fanno, mi aspettavo che ab facesse lo stesso. Altrimenti non sono esattamente sicuro di come "creare una named pipe e leggere da essa". –

3

Esistono due soluzioni per questo: 1- è possibile utilizzare virgolette per circondare l'url: ab -n 1 -c 1 "http: // localhost: 2020/welTo.do pxtId = 3.000.007,937 mila & superDo = presa"

2- fuga "&" con un backslash: ab -n 1 -c 1 http://localhost:2020/welTo.do?pxtId=3000007937 \ & superDo = jack

Problemi correlati