• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 519
  • Last Modified:

server committed an HTTP protocol violation

I finally got back to a project that I have not worked on in several months.  It was working as expected then, but now I am getting this error.  I suspect it has to do with the increased security from various system updates from Microsoft.  This portion of the program sends out the URL stored in "strHTML" merged with "searchtype" and "strURL" to create a string looking like


I get the error at the "objResponse = objRequest.GetResponse" line...

   "Run-time exception thrown : System.Net.WebException - The underlying connection was closed: The server committed an HTTP protocol violation"

The opening system arguements are...

   Imports System.Text.RegularExpressions
   Imports System.IO

And the subroutine is...

Private Function Scrape(ByVal searchtype As String, ByVal strURL As String) As String
   Dim objRequest As Net.WebRequest                                     ' Request to a Uniform Resource Identifier  
   Dim TimeoutInSeconds As Integer = 10                                     ' Default responce timeout (Move to INI)
   Dim objResponse As Net.WebResponse                                     ' Response from a Uniform Resource Identifier
   Dim objStreamReceive As System.IO.Stream                     ' Holder for received encoded data
   Dim objEncoding As System.Text.Encoding                                     ' Unicode encoding method
   Dim objStreamRead As System.IO.StreamReader                     ' Character input  
   Dim strHTML As String = "http://library.pcc.edu/search/"           ' Move this string to INI eventually

      ' Setup web request and send obj
      objRequest = Net.WebRequest.Create(strHTML & searchtype & "?SEARCH=" & strURL)
      ' Convert request multiplier to milliseconds and start timer
      Request.Timeout = TimeoutInSeconds * 2000
      ' Response from internet request
      objResponse = objRequest.GetResponse
      ' Retrieve data stream from internet
      objStreamReceive = objResponse.GetResponseStream
      objEncoding = System.Text.Encoding.GetEncoding("utf-8")' Sets unicode encoding
      ' Reads characters from stream
      objStreamRead = New System.IO.StreamReader(objStreamReceive, objEncoding)
      ' Set function return value
      Scrape = objStreamRead.ReadToEnd()
      ' Check if available, then close response
      If Not objResponse Is Nothing Then
         ' Cleans up the resources and closes the stream
      End If
         ' Error occured requesting data, Make a pretty error message
         Return "Network Error"
      End Try
End Function ' Scrape

Any ideas?

  • 3
1 Solution
kpalmateAuthor Commented:
Well after getting really annoyed, I dug deeper.


I had seen this work around before, but geared to asp config files.  This shows the work around for ado executables like mine.  It worked.  
kpalmateAuthor Commented:
Until I recomplied the job and the config file disappeared.
Anyway to incorporate the work around into the program itself?
Any further ideas or comments.  These points are still live.
kpalmateAuthor Commented:
No problem
PAQed with points refunded (500)

Community Support Moderator
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now