2011-12-11 14 views
11

Estoy enviando solicitudes a una API de terceros. Dice que debo enviar un HTTP PUT a http://example.com/project?id=projectId¿Cómo ejecuto un HTTP PUT en bash?

Intenté hacer esto con PHP curl, pero no recibo respuesta del servidor. Tal vez algo anda mal con mi código porque nunca antes había usado PUT. ¿Hay alguna manera de ejecutar un HTTP PUT desde la línea de comandos de bash? Si es así, ¿cuál es el comando?

+0

Mi pregunta para qué necesita usar PUT? Todo lo que necesitaba usar era GET y POST. – Dimme

+9

Puede usar curl para este propósito. Comprobar: http://superuser.com/questions/130009/how-can-i-do-a-http-put-with-wget –

+0

Lo necesito porque la API dice que tengo que usarlo. No tengo ni idea de porqué. Solo estoy agregando recursos a un proyecto – John

Respuesta

7

Con rizo que sería algo así como

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

pero como Mattias dijo que probablemente querrá algunos datos en el cuerpo, así por lo que querría el tipo de contenido y los datos así (además content-length sería más grande)

6

Si realmente quiere usar bash, en realidad tiene algo de soporte de red.

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

Pero supongo que también desea enviar algunos datos en el cuerpo?