2011-12-11 11 views
11

Sto inviando richieste a un'API di terze parti. Dice che devo inviare un HTTP PUT a http://example.com/project?id=projectIdCome si esegue un PUT HTTP in bash?

Ho provato a farlo con PHP curl, ma non ricevo una risposta dal server. Forse c'è qualcosa di sbagliato nel mio codice perché non ho mai usato PUT prima. C'è un modo per eseguire un PUT HTTP dalla riga di comando di bash? Se è così, qual è il comando?

+0

Chiedo a cosa è necessario utilizzare PUT? Tutto ciò di cui avevo bisogno era GET e POST. – Dimme

+9

È possibile utilizzare l'arricciatura a questo scopo. Controllare: http://superuser.com/questions/130009/how-can-i-do-a-http-put-with-wget –

+0

Ho bisogno perché l'API dice che devo usarlo. Non ho idea del perché. Sto solo aggiungendo risorse a un progetto – John

risposta

7

con l'arricciatura che sarebbe qualcosa di simile

curl --request PUT --header "Content-Length: 0" http://website.com/project?id=1 

ma, come ha detto Mattias che vorreste probabilmente alcuni dati nel corpo pure in modo che ci si vuole il tipo di contenuto e dei dati, nonché (più la lunghezza del contenuto sarebbe più grande)

6

Se si desidera utilizzare solo bash, in realtà ha un supporto di rete.

echo -e "PUT /project?id=123 HTTP/1.1\r\nHost: website.com\r\n\r\n" > \ 
    /dev/tcp/website.com/80 

Ma suppongo che vuoi anche inviare alcuni dati nel corpo?

Problemi correlati