example json rest curl

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&param1=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.