donderdag 19 juli 2007

Webscreen scraping II

Soms, is het leven moeilijk.


Screenscraping via .Net werkt met de HttpWebRequest class.

Dim lHttpWebRequest As HttpWebRequest
Dim lHttpWebResponse As HttpWebResponse
Dim lHttpWebResponseStream As Stream
lHttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
lHttpWebResponse = CType(lHttpWebRequest.GetResponse, HttpWebResponse)
lHttpWebResponseStream = lHttpWebRequest.GetResponse.GetResponseStream

Zoals ik in mijn vorige post heb verteld werkt dat niet altijd goed. Nu blijkt dus het probleem te zijn dat mijn HttpWebRequest geen user string meegeeft die geaccepteerd word.

De oplossing:
lHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"

ps.
Bij een httpwebrequest altijd een WebException afvangen kijken naar de status en vervolgens de response stream uitlezen waar meestal de server foutmelding in staat

lHttpWebResponseStream = ex.Response.GetResponseStream

Geen opmerkingen: