example - Solicitud Curl GET con parámetro json
curl rest web service (5)
Estoy tratando de enviar una solicitud "GET" a una API REST remota desde el símbolo del sistema a través de cURL de esta manera:
curl -X GET -H "Content-type: application/json" -H "Accept: application/json" "http://server:5050/a/c/getName/{"param0":"pradeep"}"
Pero no devuelve ninguna salida. Traté de hacer ping a la URL directamente desde el navegador, puedo obtener una respuesta con éxito, no entiendo cuál es el problema con el comando.
Básicamente quiero establecer una solicitud "OBTENER" a un servicio REST remoto que me da datos json como respuesta a través de curl. ¿Alguien puede guiarme qué error estoy haciendo? Probé varias publicaciones, pero todas hablan de solicitudes POST no sobre GET.
Esto debería funcionar :
curl -i -H "Accept: application/json" "server:5050/a/c/getName{"param0":"pradeep"}"
opción de usuario -i en lugar de x.
GET toma pares de nombre y valor.
Pruebe algo como:
curl http://server:5050/a/c/getName/?param1=pradeep
o
curl http://server:5050/a/c/getName?param1=pradeep
por cierto, un RESTO regular debería verse algo así como
curl http://server:5050/a/c/getName/pradeep
Si toma JSON en la URL GET, no es una forma estándar.
Para los servicios protegidos por nombre de usuario y contraseña, use la siguiente
curl -u admin:password -X GET http://172.16.2.125:9200 -d ''{"sort":[{"lastUpdateTime":{"order":"desc"}}]}''
Si desea enviar sus datos dentro del cuerpo, entonces debe hacer un POST
o PUT
lugar de GET
.
Para mí, parece que estás tratando de enviar la consulta con los parámetros uri , que no están relacionados con GET
, también puedes poner estos parámetros en POST
, PUT
, etc.
La consulta es una parte opcional, separada por un signo de interrogación ("?"), Que contiene información de identificación adicional que no es de naturaleza jerárquica. La sintaxis de la cadena de consulta no está genéricamente definida, pero comúnmente se organiza como una secuencia de = pares, con los pares separados por un punto y coma o un símbolo comercial.
Por ejemplo:
curl http://server:5050/a/c/getName?param0=foo¶m1=bar
Tratar
curl -G ...
en lugar de
curl -X GET ...
Normalmente no necesitas esta opción. Todo tipo de solicitudes GET, HEAD, POST y PUT se invocan más bien mediante el uso de opciones de línea de comando dedicadas.
Esta opción solo cambia la palabra real utilizada en la solicitud HTTP, no altera la forma en que se comporta curl. Entonces, por ejemplo, si desea hacer una solicitud HEAD adecuada, usar -X HEAD no será suficiente. Necesita usar la opción -I, -head.