我一直在玩Poco Net庫一段時間,這是相當不錯的。非常方便,易於理解。POCO Net C++庫中的代理身份驗證
我能夠設置一個代理地址,它正在說407正確的代理授權要求。我想,
HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);
req.setCredentials(scheme, authInfo);
我試着像計劃「基本」,「純文本」,和值:在AUTHINFO「用戶密碼」。它似乎沒有工作。 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 2009-08-29 00:37:27
我相信正確的標題,正如@StackedCrooked建議的,是「代理授權」而不是「代理驗證」。你的實際代碼是否使用了正確的代碼? – 2009-09-04 00:17:02