Hallo mensen,
Ik wil met behulp van een WebRequest de html pagina download en regex'en , nu is de regex goed alleen ik kwam er achter dat je ingelogd moet zijn.. Als je echter een WebRequest doet gebruikt hij naar mijn weten niet de IE cookies.
Nu wil ik het zo hebben dat hij iig de cookies gebruikt van mijn IE , dus ik heb bestand ingelezen, en als value wegschreven in een Cookie object en deze megegeven aan de CookieContainer voor het WebRequest object.
Uit de HTML code blijkt dat hij hem niet pakt..
Bind ik de cookie verkeerd?
Ik wil met behulp van een WebRequest de html pagina download en regex'en , nu is de regex goed alleen ik kwam er achter dat je ingelogd moet zijn.. Als je echter een WebRequest doet gebruikt hij naar mijn weten niet de IE cookies.
Nu wil ik het zo hebben dat hij iig de cookies gebruikt van mijn IE , dus ik heb bestand ingelezen, en als value wegschreven in een Cookie object en deze megegeven aan de CookieContainer voor het WebRequest object.
Uit de HTML code blijkt dat hij hem niet pakt..
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| //profileurl = http://aaotracker.4players.de/usertracker.php?userid=xxxx HttpWebRequest request = (HttpWebRequest) WebRequest.Create(profileurl); //Cookie map achterhalen RegistryKey key = Registry.CurrentUser.OpenSubKey("Volatile Environment"); string homedrive = (string)key.GetValue("HOMEDRIVE"); string homepath = (string)key.GetValue("HOMEPATH"); string[] splitHomepath = homepath.Split('\\'); string val = string.Empty; string cookiePath = homedrive + homepath + "\\Cookies\\" + splitHomepath[2].ToLower() + "@aaotracker.4players[2].txt"; //Cookie value achterhalen if (File.Exists(cookiePath)) { StreamReader r = new StreamReader(cookiePath); string l = string.Empty; while((l = r.ReadLine()) != null) { //klopt de newline van het cookie of met deze /n/r zijn ? val += l + "/n"; } } //nieuwe cookiecontainer CookieContainer cookies = new CookieContainer(); //cookie toevoegen, misschien andere naam ?, en hoe kan ik deze achterhalen? cookies.Add(new Cookie(splitHomepath[2],val,"/","aaotracker.4players.de")); request.Timeout = 30000; request.CookieContainer = cookies; Stream stream = request.GetResponse().GetResponseStream(); StreamReader reader = new StreamReader(stream); Regex regex = new Regex("<td width=\"300\"><[a-z]?[^>]* href=\"\\.\\/webspec\\/index\\.php\\?addr\\=(?<link>.[^\"]+)\">(?<name>.+)</a></td>"); string line = string.Empty; string serverName = string.Empty; string serverAddress = string.Empty; while ((line = reader.ReadLine()) != null) { Match m = regex.Match(line); if (m.Success) { serverName = m.Groups["name"].ToString(); serverAddress = m.Groups["link"].ToString(); break; } } reader.Close(); |
Bind ik de cookie verkeerd?