DreamDancer

WinINet Processing

Nov 11th, 2011
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   If p_lInternetSession = 0 Then p_lInternetSession = InternetOpen( _
  2.           Configuration.VersionData, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
  3.   m_lInternetConnect = InternetConnect(p_lInternetSession, strURL, _
  4.                                        INTERNET_DEFAULT_HTTP_PORT, _
  5.                                        vbNullString, vbNullString, _
  6.                                        INTERNET_SERVICE_HTTP, 0, 0)
  7.  
  8.   m_lHttpRequest = HttpOpenRequest(m_lInternetConnect, "GET", _
  9.                                    strFilePath, "HTTP/1.0", vbNullString, 0, _
  10.                                    INTERNET_FLAG_RELOAD, 0)
  11.   If CBool(m_lHttpRequest) Then
  12.       'prepare string buffer to get server response
  13.      lBufferLength = Len(sBuffer)
  14.  
  15.       'send request to remote server. On this state we need Interent connection.
  16.      'If system not connected to Internet, dialog with default RAS entry will
  17.      'be showed
  18.      iRetVal = HttpSendRequest(m_lHttpRequest, vbNullString, 0, 0, 0)
  19.  
  20.       'Use HTTP_QUERY_LAST_MODIFIED flag to try to retrieve value of the iNetResults
  21.      'header of the server response. If server has returned iNetResults header
  22.      'value of CheckURL will be True and sBuffer will consist value of the header
  23.      CheckUrl = CBool(HttpQueryInfo(m_lHttpRequest, HTTP_QUERY_STATUS_CODE, _
  24.                                      ByVal sBuffer, lBufferLength, 0))
  25.       iNetValid = Val(sBuffer)
  26.       If CheckUrl Then
  27.           'OK! We have iNetResults header
  28.          If iNetValid = 200 Then
  29.             lBufferLength = Len(sBuffer)
  30.             iRetVal = InternetReadFile(m_lHttpRequest, sBuffer, lBufferLength, lBufferRead)
  31.             ' iNetResults = TrimToNull(sBuffer)
  32.            If lBufferRead > 0 Then
  33.               iNetResults = Left$(sBuffer, lBufferRead)
  34.               Do
  35.                 sBuffer = String$(lBufferLength, Chr$(0))
  36.                 iRetVal = InternetReadFile(m_lHttpRequest, sBuffer, lBufferLength, lBufferRead)
  37.                 If (lBufferRead = 0) And (iRetVal = True) Then Exit Do
  38.                 iNetResults = iNetResults & Left$(sBuffer, lBufferRead)
  39.                 ' iNetResults = iNetResults & TrimToNull(sBuffer)
  40.              Loop
  41.             Else
  42.               iNetResults = "Failed to connect"
  43.             End If
  44.           End If
  45.       Else
  46.           'Hm... HttpQueryInfo return 0. Check out response code using
  47.          'HTTP_QUERY_STATUS_CODE flag
  48.          HttpQueryInfo m_lHttpRequest, HTTP_QUERY_STATUS_CODE, ByVal sBuffer, lBufferLength, 0
  49.           If TrimToNull(sBuffer) = "200" Then
  50.               iNetResults = "Not available"
  51.           Else
  52.               iNetResults = "Bad response: " & TrimToNull(sBuffer)
  53.           End If
  54.           PumpInternalMessage iNetResults
  55.       End If
  56.   End If
  57.   InternetCloseHandle m_lHttpRequest
  58.   InternetCloseHandle m_lInternetConnect
  59.  
  60.  
Advertisement
Add Comment
Please, Sign In to add comment