He estado jugando con la biblioteca Poco Net durante algún tiempo, es bastante agradable. Muy conveniente y fácil de entender.Autenticación Proxy en la biblioteca POCO Net C++
Pude configurar una dirección de proxy, y dice 407 Proxy authorization required, properly. Me imaginé que
HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);
req.setCredentials(scheme, authInfo);
me trataron valores como: "texto plano" "básica" en el esquema, y "usuario: contraseña" en authInfo. No parece funcionar. Google no está ayudando.
¿Alguien ha hecho esto usando Poco Net anteriormente? ¿O es obvio el uso y no puedo hacer que funcione debido a mi ignorancia hacia la autenticación proxy en general? Por favor aconséjame.
EDIT: Después de jugar un poco más, creo que la función setCredentials se usa cuando el servidor remoto espera la información de autenticación para iniciar sesión. No he podido encontrar una forma de hacer la autenticación proxy utilizando las bibliotecas de Poco Net. Sin embargo, pude establecer el servidor proxy y el puerto. Esto es lo que tendría si hubiera solo un servidor proxy sin autenticación:
HTTPClientSession session(uri.getHost(), uri.getPort());
HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);
session.setProxy("host", port);
session.sendRequest(req);
Necesita ayuda.
EDIT: Sobre la base de la solución sugerida por @StackedCrooked, he intentado establecer detalles de autenticación de proxy a la cabecera de la solicitud antes de hacer la solicitud, y en otro enfoque se encuentran en Internet, me puse de proxy detalles de autenticación sólo después de hacer una solicitud inicial y aparece un error 407, y luego hacer la solicitud nuevamente. Ambos métodos siguieron dando el mismo error 407. Mi código actual es el siguiente:
HTTPClientSession session(uri.getHost(), uri.getPort());
HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);
session.setProxy("10.7.128.1", 8080);
req.set("Proxy-Authentication", "Basic bGVlbGE6bGVlbGExMjM=");
session.sendRequest(req);
¿Podrías poner un testcase en codepad.org o algo así? Me encantaría probarlo contra mi proxy. – joshperry
Creo que el encabezado correcto, como sugirió @StackedCrooked, es "Proxy-Authorization" en lugar de "Proxy-Authentication". ¿Tu código real está usando el correcto? –