¿Cómo paso el encabezado de autorización usando cURL? (No es la extensión PHP cURL, el ejecutable en /usr/bin/curl
).Cómo configurar el encabezado de autorización usando curl
Respuesta
http://curl.haxx.se/docs/httpscripting.html
Véase la parte de autenticación HTTP 6.
autenticación HTTP
autenticación HTTP es la posibilidad de indicar al servidor su nombre de usuario y contraseña para que se pueda verificar que eres permitido hacer la solicitud que está haciendo. La autenticación básica utilizada en HTTP (que es el tipo rizo utiliza por por defecto) es llanuratexto con base, lo que significa que envía nombre de usuario y contraseña sólo un poco ofuscado, pero todavía totalmente legibles por cualquier persona que olfatea en la red entre usted y el servidor remoto.
A decir rizo utilizar un usuario y una contraseña para la autenticación:
curl --user name:password http://www.example.com
El sitio puede requerir un método de autenticación diferente (compruebe las cabeceras devuelto por el servidor), y luego --ntlm, - digest, --negotiate o incluso --anyauth puede ser opciones que se ajusten a usted.
A veces, su acceso HTTP solo está disponible mediante el uso de un proxy HTTP . Esto parece ser especialmente común en varias compañías. Un proxy HTTP puede requerir su propio usuario y contraseña para permitir que el cliente obtenga acceso a Internet al . Para especificar aquellos con rizo, ejecutar algo como:
curl --proxy-user proxyuser:proxypassword curl.haxx.se
Si su proxy requiere autenticación que ser hecho usando el método NTLM, uso --proxy-NTLM, si se requiere usar Digesto --proxy de digerir.
Si usa cualquiera de estas opciones de usuario + contraseña pero omite la contraseña , curl solicitará la contraseña de forma interactiva.
Tenga en cuenta que cuando se ejecuta un programa, sus parámetros pueden ser posibles para ver al enumerar los procesos en ejecución del sistema. Por lo tanto, otros usuarios pueden ser capaces de ver sus contraseñas si las pasa como opciones de línea de comando . Hay formas de eludir esto.
Vale la pena señalar que, si bien esto es cómo funciona la autenticación HTTP, muy muchos sitios web no utilizan este concepto cuando proporcionan conexiones etc. Ver el capítulo de sesión Web más abajo para obtener más detalles al respecto.
Simplemente añadiendo por lo que no tiene que hacer clic a través de:
curl --user name:password http://www.example.com
o si está tratando de hacer la autenticación para enviar OAuth 2:
curl -H "Authorization: OAuth <ACCESS_TOKEN>" http://www.example.com
Muchas API ahora usan tokens de autorización de encabezado. La opción '-H' es genial. – eliocs
Si usa -u o --user, Curl Codificará las credenciales en Base64 y generará un encabezado como este: '-H Autorización: Básico
tener cuidado de que cuando usa: curl -H "Authorization: token_str" http://www.example.com
token_str
y Authorization
deben separarse por espacio en blanco, de lo contrario, el servidor no obtendrá el entorno HTTP_AUTHORIZATION
.
No es cierto, si se necesita un espacio en blanco, su servidor HTTP es roto. También necesita dos cadenas por tipo y luego el token. –
(para los que están en busca de php-curl respuesta)
fichas$service_url = 'https://example.com/something/something.json';
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "username:password"); //Your credentials goes here
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //IMP if the url has https and you don't want to verify source certificate
$curl_response = curl_exec($curl);
$response = json_decode($curl_response);
curl_close($curl);
var_dump($response);
portador aspecto:
curl -H "Authorization: Bearer <ACCESS_TOKEN>" http://www.example.com
@esqew - ¿Eh? Tenía exactamente la misma pregunta y esta respuesta me sirve. –
Y si está buscando hacer una autorización 'Básica', simplemente cambie 'Portador' por 'Básico' –
Esto funcionó para mí:
curl -H "Authorization: Token xxxxxxxxxxxxxx" https://www.example.com/
Para autenticación básica de HTTP :
curl -H "Authorization: Basic <_your_token_>" http://www.example.com
reemplazar _your_token_
y la URL.
Al usar oauth, ¿de dónde procedería el token de Autorización? Intento utilizar curl para descargar archivos de un sitio donde utilizo un usuario y una contraseña, pero parece estar fallando debido a que oauth2 está en uso. – toasteez
@toasteez tienes que pasar por el flujo de Oauth2 para recibir un token. Normalmente es un proceso de dos pasos y debe detallarse en la documentación del servidor. – Devaroop
buena respuesta. un pequeño ayudante 'echo -ne"
- 1. Encabezado de autorización no enviado usando AFNetworking
- 2. Devolver encabezado como matriz usando Curl
- 3. Cómo configurar el encabezado usando el método http post
- 4. Encabezado de autorización HTTP ASP.NET
- 5. Encabezado de autorización HTTP personalizado
- 6. Cómo configurar el encabezado de DataGridview RowHeader?
- 7. ColdFusion: cómo configurar el encabezado Content-Length
- 8. Cómo grep curl -I información del encabezado
- 9. NSURLRequest configurar el encabezado HTTP
- 10. ¿Por qué desactivar el encabezado en curl?
- 11. OAuth 2 bearer Encabezado de autorización
- 12. ¿Cómo guardo un archivo usando el nombre de archivo del encabezado de respuesta con cURL
- 13. Ningún navegador está enviando información de autorización en el encabezado
- 14. origen cruzado 'Autorización' encabezado con jquery.ajax()
- 15. ¿Cómo configurar la configuración para aceptar el token de autenticación en el encabezado HTTP?
- 16. Cómo configurar este encabezado de soap php?
- 17. Cómo configurar el estilo de encabezado de DataGrid en WPF
- 18. Verificación de autorización usando Global.asax
- 19. ¿Cómo establecer claves de encabezado de solicitud personalizadas con curl y PHP?
- 20. cómo detener curl php desde enviar aceptar encabezado
- 21. HTTP Spec: cabeceras Autorización proxy y autorización
- 22. SFTP usando cURL
- 23. Caché usando PHP cURL
- 24. ¿Cómo puedo leer el encabezado de autorización de un servicio WCF basado en REST?
- 25. Subiendo a Amazon S3 usando cURL/libcurl
- 26. obtener información del encabezado de php curl post request
- 27. Recuperación de encabezado único en php a través de curl
- 28. Al pasar el encabezado de autorización para la solicitud de token oauth
- 29. solicitud xml-rpc usando curl?
- 30. Cómo configurar TimeZone usando Powershell
bien, pero ¿cómo en php? – Vixed
@Vixed Esta pregunta no es explícitamente sobre PHP. [¿Qué pasa con los resultados de Google] (s)? – Oli