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