Ben aan het proberen om via C# een HTTPWebrequest op te bouwen voor de volgende pagina:
http://mijn.knltb.nl/tabid/164/default.aspx
zodat ik automatisch iemand zijn KNLTB tennisrating kan opvragen als hij zijn lidnummer opgeeft ipv dat helemaal via de KNLTB site te doen wat nogal omslachtig is.
Nu heb ik nog nooit een webrequest proberen op te bouwen waar de contenttype van het type multipart/form-data. En het lukt me niet om een POST te doen met een lidnummer richting de server en dan de rating en clubgegevens terug te krijgen.
Heb met Fiddler al geprobeerd om de webrequest na te bouwen en hij lijkt al heel erg op elkaar maar toch lukt het me niet. Zou iemand me in de goede richting kunnen wijzen. Krijg namelijk gewoon elke keer de startpagina weer terug zonder ingevulde gegevens en ook geen resultateten. Hieronder de code zover ik die al heb:
http://mijn.knltb.nl/tabid/164/default.aspx
zodat ik automatisch iemand zijn KNLTB tennisrating kan opvragen als hij zijn lidnummer opgeeft ipv dat helemaal via de KNLTB site te doen wat nogal omslachtig is.
Nu heb ik nog nooit een webrequest proberen op te bouwen waar de contenttype van het type multipart/form-data. En het lukt me niet om een POST te doen met een lidnummer richting de server en dan de rating en clubgegevens terug te krijgen.
Heb met Fiddler al geprobeerd om de webrequest na te bouwen en hij lijkt al heel erg op elkaar maar toch lukt het me niet. Zou iemand me in de goede richting kunnen wijzen. Krijg namelijk gewoon elke keer de startpagina weer terug zonder ingevulde gegevens en ook geen resultateten. Hieronder de code zover ik die al heb:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| request = (HttpWebRequest)WebRequest.Create("http://mijn.knltb.nl/tabid/164/default.aspx"); request.Method = "POST"; request.KeepAlive = true; request.Referer = "http://mijn.knltb.nl/tabid/164/default.aspx"; request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.5.21022; InfoPath.2; MS-RTC LM 8; .NET CLR 3.5.30729; .NET CLR 3.0.30618)"; request.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, application/x-silverlight-2-b2, application/x-shockwave-flash, */*"; request.Headers.Add("Pragma", "no-cache"); request.Headers.Add("Accept-Language", "nl"); request.Headers.Add("UA-CPU", "x86"); request.ProtocolVersion = HttpVersion.Version10; request.ServicePoint.Expect100Continue = false; request.CookieContainer = new CookieContainer(); request.CookieContainer.Add(response.Cookies); string boundary = Guid.NewGuid().ToString().Replace("-", ""); request.ContentType = "multipart/form-data; boundary=-----------------------------" + boundary; System.IO.MemoryStream postData = new System.IO.MemoryStream(); string newLine = "\r\n"; System.IO.StreamWriter sw = new System.IO.StreamWriter(postData); sw.Write("-----------------------------" + boundary + newLine); sw.Write("Content-Disposition: form-data; name=\"{0}\"{1}{1}{2}{1}", "dnn$ctr530$Spelersprofiel$txtBondsnummer", newLine, "12996188"); sw.Write("-----------------------------" + boundary + newLine); sw.Write("Content-Disposition: form-data; name=\"{0}\"{1}{1}{2}{1}", "__dnnVariable", newLine, ""); sw.Write("-----------------------------{0}--{1}", boundary, newLine); sw.Flush(); request.ContentLength = postData.Length; using (System.IO.Stream s = request.GetRequestStream()) postData.WriteTo(s); postData.Close(); request.Proxy.Credentials = cache; response = (HttpWebResponse)request.GetResponse(); |