2011-12-11 16 views
11

Wysyłam żądania do interfejsu API innej firmy. Mówi, że muszę wysłać HTTP PUT do http://example.com/project?id=projectIdJak wykonać HTTP PUT w bash?

Próbowałem to zrobić z curl PHP, ale nie otrzymuję odpowiedzi od serwera. Może coś jest nie tak z moim kodem, ponieważ nigdy wcześniej nie użyłem PUT. Czy istnieje sposób, aby wykonać polecenie HTTP PUT z wiersza poleceń bash? Jeśli tak, jakie jest polecenie?

+0

My pytam, czego potrzebujesz do korzystania z PUT? Wszystko czego potrzebowałem to GET i POST. – Dimme

+9

Do tego celu można użyć zwijania. Sprawdź: http://superuser.com/questions/130009/how-can-i-do-a-http-put-with-wget –

+0

Potrzebuję go, ponieważ API mówi, że muszę go użyć. Nie mam pojęcia dlaczego. Po prostu dodajemy zasoby do projektu – John

Odpowiedz

7

z dyni byłoby coś

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

ale jak Mattias powiedział, że prawdopodobnie chcesz jakieś dane w organizmie, jak również tak, że chcesz tego typu treści i dane, jak również (plus długość zawartości byłaby większa)

6

Jeśli naprawdę chcesz używać tylko bash, to rzeczywiście ma wsparcie sieciowe.

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

Ale wydaje mi się, że chcesz również przesłać trochę danych w ciele?

Powiązane problemy