000
20.09.2005, 21:31 Uhr
ssd
|
Hallo Forum
Ich habe mir mal zu "Versuchzwecken" ein Programm entwickelt, welches nur den Statuscode eines Servers/Webseite zurückliefern soll. Status 200 und 400 bekomme ich zurückgeliefert, aber wenn es um einen Timeout geht, dann scheitere ich, die Software berücksichtigt die Timeout-Einstellungen nicht. Was mache ich bei diesem Code falsch ? Als Servername habe ich bewusst "dw-world" genommen, der hat zur zeit soo lange zum antworten...
Vielen Dank für die Hilfe
ssd
char szHeaders[4096]; DWORD dwRet = 0; char szBuff[4096];
CInternetSession session("Meine Sitzung"); CHttpConnection* pServer = NULL; CHttpFile* pFile = NULL; try { CString strServerName = "www.dw-world.de"; INTERNET_PORT nPort = 80;
int aaa = session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,3000);
int bbb = session.SetOption(INTERNET_OPTION_RECEIVE_TIMEOUT, 3000); int ccc = session.SetOption(INTERNET_OPTION_SEND_TIMEOUT, 3000);
pServer = session.GetHttpConnection(strServerName, nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, "");
//pFile->AddRequestHeaders(szHeaders); pFile->SendRequest(); pFile->QueryInfoStatusCode(dwRet);
if (dwRet == HTTP_STATUS_OK) { UINT nRead = pFile->Read(szBuff, 1023); while (nRead > 0) { //read file... } } delete pFile; delete pServer; } catch (CInternetException* pEx) { //Fehler von WinInet abfangen } session.Close(); |