代码改变世界

idhttp验证用户和密码

2020-09-27 15:45  su_hq  阅读(677)  评论(0编辑  收藏  举报

 

IdHTTP 在HTTP协议中的 Authorization

idhttp->AllowCookies =true;

idhttp->HandleRedirects =true; //允许重定向
idhttp->ConnectTimeout =20000;
idhttp->ReadTimeout =20000;
//hoInProcessAuth, hoKeepOrigProtocol, hoForceEncodeParams, hoNonSSLProxyUseConnectVerb, hoNoParseMetaHTTPEquiv, hoWaitForUnexpectedData, hoTreat302Like303, hoNoProtocolErrorException, hoNoReadMultipartMIME, hoNoParseXmlCharset, hoWantProtocolErrorContent, hoNoReadChunked
idhttp->HTTPOptions <<hoKeepOrigProtocol;
//pv1_0, pv1_1
idhttp->ProtocolVersion =pv1_1;

//sslvSSLv2, sslvSSLv23, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2
SSLIO->SSLOptions->Method = sslvTLSv1_2;
//sslmUnassigned, sslmClient, sslmServer, sslmBoth
SSLIO->SSLOptions->Mode = sslmClient;
SSLIO->ConnectTimeout =20000;
idhttp->IOHandler=SSLIO;

 

idhttp->Request->ContentType="text/xml";
idhttp->Request->Username =user;
idhttp->Request->Password =pass;
idhttp->Request->BasicAuthentication =true;

 

 

如果使用“基本验证”方案,凭证通过如下步骤生成:

用冒号将用户名和密码进行拼接(如:user:pass)。

将第一步生成的结果用 base64 方式编码(XXXXXX)。

拼接Base XXXXXX

注意: Base64编码并不是一种加密方法或者hashing方法!这种方法的安全性与明文发送等同(base64可以逆向解码)。“基本验证”方案需要与HTTPS协议配合使用。