나는 얼마 동안 Poco Net 라이브러리를 사용 해왔다. 꽤 좋다. 매우 편리하고 이해하기 쉽습니다.POCO Net C++ 라이브러리의 프록시 인증
프록시 주소를 설정할 수 있었으며 407 프록시 인증이 필요합니다. 그걸 알았어
HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);
req.setCredentials(scheme, authInfo);
authInfo에서 "basic", "plaintext"및 scheme : "user : password"같은 값을 사용했습니다. 그것은 작동하지 않는 것 같습니다. Google은 도움이되지 않습니다.
이전에 Poco Net을 사용하여이 작업을 수행 한 사람이 있습니까? 아니면 사용법이 명백합니까? 그리고 일반적으로 프록시 인증에 대한 저의 무지 때문에 제대로 작동하지 않습니다. 제발 조언.
편집 : 좀 더 놀아 본 후에는 원격 서버가 로그인 할 때 원격 서버에서 로그인 할 때 setCredentials 기능이 사용된다고 생각합니다. Poco Net 라이브러리를 사용하여 프록시 인증을 수행하는 방법을 찾지 못했습니다. 프록시 서버와 포트를 설정할 수있었습니다. 이것은 인증이없는 프록시 서버가있는 경우 내가 가지고있는 것입니다.
HTTPClientSession session(uri.getHost(), uri.getPort());
HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);
session.setProxy("host", port);
session.sendRequest(req);
도움이 필요합니다.
편집 :은 @StackedCrooked에 의해 제안 된 솔루션을 바탕으로, 내가 요청을하기 전에 요청 헤더에 프록시 인증 세부 정보를 설정했는데, 인터넷에서 발견 다른 접근 방식에서, 나는 단지를 한 후 프록시 인증 세부 사항을 설정 초기 요청과 407 오류가 발생했다가 다시 요청합니다. 두 방법 모두 동일한 407 오류를 제공했습니다. 현재 코드는 다음과 같습니다.
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);
codepad.org에 테스트 케이스를 설치해도 될까요? 나는 내 프록시에 대해 그것을 시도하고 싶다. – joshperry
@StackedCrooked가 제안한 올바른 헤더는 "Proxy-Authentication"보다는 "Proxy-Authorization"이라고 생각합니다. 실제 코드가 올바른 코드입니까? –