Hi,
I have working implementation of
HTTP authentication using WinInet but I want to switch to BOOST::ASIO but I am
not sure how to send the authentication request to HTTP server using
BOOST::ASIO/SSL. Just to give an idea here is code snippet of the WinInet.
Is there any code sample available
to do the same using boost::asio and SSL? How do we send user name and password
using SSL is there any special function or we have to create our own
request string, and how it is going to look like?
Here is the partial example code
using WinInet
Connect(serverURL)/*https://someurl.com/…
*/
OpenRequest(“POST”,.....)
if(!InternetSetOption(m_hHttpConnection,
INTERNET_OPTION_USERNAME,
(void*)string_cast<string>(userID).c_str(),
userID.size()) ||
!InternetSetOption(m_hHttpConnection,
INTERNET_OPTION_PASSWORD,
(void*)string_cast<string>(passWord).c_str(),
passWord.size())
/*
Set some other
security Flag
*/
)
{
m_lastResult
= HRESULT_FROM_WIN32(GetLastError());
}
DWORD dwSize,
dwCode;
dwSize = sizeof
(DWORD) ;
if (
!HttpQueryInfo (m_hRequest, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER,
&dwCode, &dwSize, NULL))
{
m_lastResult
= HRESULT_FROM_WIN32(GetLastError());
return
false;
}
Example code End.
Thanks,
Akhilesh