Link to home
Start Free TrialLog in
Avatar of snoegler
snoegler

asked on

RFC 2068

Does anyone have a good link to a short, but precise
description of the HTTP 1.1 protocol? I have already found
a *huge* description which is describes even the smallest
eventualities(about 390k size).
Links are greatly appreciated :)
Avatar of Grailman
Grailman

Avatar of snoegler

ASKER

I think this is my fault ... I am searching for a page which describes the HTTP 1.1 protocol
commands - this is for automated queries from a internet database. So i need some
good documentation - as i've already mentioned, i have found one, but it is so large and
full of details that it is not readable, at least not on the monitor ...
Thanks for your time, BTW.
ASKER CERTIFIED SOLUTION
Avatar of faster
faster

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
This is just a note ... :)

BOOL GetUniversalName( char szUniv[], char szDrive[] )
{
  // get the local drive letter
  char chLocal = (char)toupper( szDrive[0] );
   // cursory validation
  if ( chLocal < 'A' || chLocal > 'Z' )
    return FALSE;
   if ( szDrive[1] != ':' || szDrive[2] != '\\' )
     return FALSE;
   HANDLE hEnum;
  DWORD dwResult = WNetOpenEnum( RESOURCE_CONNECTED, RESOURCETYPE_DISK, 0, NULL, &hEnum );

  if ( dwResult != NO_ERROR )
     return FALSE;
   // request all available entries
  const int    c_cEntries   = 0xFFFFFFFF;
  // start with a reasonable buffer size
  DWORD        cbBuffer     = 50 * sizeof( NETRESOURCE );
  NETRESOURCE *pNetResource = (NETRESOURCE*) malloc( cbBuffer );

  BOOL fResult = FALSE;

  while ( TRUE )
  {
     DWORD dwSize   = cbBuffer,
           cEntries = c_cEntries;

     dwResult = WNetEnumResource( hEnum, &cEntries, pNetResource, &dwSize );

     if ( dwResult == ERROR_MORE_DATA )
     {
        // the buffer was too small, enlarge
        cbBuffer = dwSize;
        pNetResource = (NETRESOURCE*) realloc( pNetResource, cbBuffer );
        continue;
     }

     if ( dwResult != NO_ERROR )
        goto done;

     // search for the specified drive letter
     for ( int i = 0; i < (int) cEntries; i++ )
        if ( pNetResource[i].lpLocalName &&
             chLocal == toupper(pNetResource[i].lpLocalName[0]) )
        {
           // match
           fResult = TRUE;

           // build a UNC name
           strcpy( szUniv, pNetResource[i].lpRemoteName );
           strcat( szUniv, szDrive + 2 );
           //_strupr( szUniv );
           goto done;
        }
  }

done:
  // cleanup
  WNetCloseEnum( hEnum );
  free( pNetResource );

  return fResult;

}