Avatar billede webcreator Nybegynder
27. oktober 2005 - 20:21 Der er 12 kommentarer og
2 løsninger

HttpWebRequest - logge på website fra C# program

Hej Eksperter.

Jeg ønsker at logge ind på et PHP website og læse noget data fra det vha. et C# .NET program. Men jeg kan ikke umiddelbart få det til at virke. Kan I hjælpe mig videre? Jeg har pt. nedenstående kode :

--------------------------------------------------------------------

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://domain.dk/index.php?pageid=2");
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            StreamWriter post = new StreamWriter(request.GetRequestStream());
            post.Write("user=mitUserID&pass=mitPass");
            post.Close();

            string data = new StreamReader(request.GetResponse().GetResponseStream(), Encoding.Default).ReadToEnd();

            txtOutput.Text = data;

--------------------------------------------------------------------

I min tekstboks kan jeg se HTML koden efter POST operationen - men det er stadig login-siden jeg befinder mig på.
Avatar billede webcreator Nybegynder
27. oktober 2005 - 20:47 #1
Oh, det ser tilsyneladende ud som om at værdierne bliver >indsat< i formen - men ikke submittet. Kan det passe?
Avatar billede driis Nybegynder
27. oktober 2005 - 21:10 #2
Har du PHP koden - så er det nok nemmere at hitte ud af hvad der rent faktisk sker.

Måske er der et ekstra form-felt, der skal være sat ? Eller måske svarer den med et redirect ?
Avatar billede webcreator Nybegynder
27. oktober 2005 - 21:12 #3
PHP koden er min. Jeg behøver kun at sætte brugernavn og adgangskode. Når det er gjort og der submittes, valideres koden. Er den korrekt, sender PHP koden brugeren videre til forsiden.
Avatar billede driis Nybegynder
27. oktober 2005 - 21:39 #4
Så kan du jo passende tage fat i PHP koden og se på, hvad der sker når den validerer - læser den felterne rigtigt, osv.
Avatar billede arne_v Ekspert
27. oktober 2005 - 22:49 #5
har du prøvet med post.WriteLine fremfor post.Write ?
Avatar billede arne_v Ekspert
27. oktober 2005 - 22:50 #6
kigger PHP scriptet i $_POST (og ikke i $_GET) ?
Avatar billede arne_v Ekspert
28. oktober 2005 - 00:14 #7
prøv også:

CookieContainer cookies = new CookieContainer();

og så:

request.CookieContainer = cookies;

i begge requests
Avatar billede webcreator Nybegynder
28. oktober 2005 - 10:50 #8
Arne :
Avatar billede webcreator Nybegynder
28. oktober 2005 - 10:52 #9
Arne :

Jeg er ikke vild med at pille i PHP koden, da sitet er i produktion.
Jeg bruger selvfølgelig POST i PHP koden samt Sessions. Ingen af dine forslag virkede.
Avatar billede webcreator Nybegynder
28. oktober 2005 - 11:00 #10
Jeg vil gerne undskylde - det hjalp vist med lidt søvn. Jeg havde simpelthen glemt at sætte en værdi i et hidden field. Smid nogle svar - så får I lidt points alligevel :)
Avatar billede arne_v Ekspert
28. oktober 2005 - 11:18 #11
bare det virker
Avatar billede driis Nybegynder
28. oktober 2005 - 13:17 #12
Svar
Avatar billede webcreator Nybegynder
28. oktober 2005 - 13:35 #13
I må meget gerne tage et kig på dette også : http://eksperten.dk/spm/659900
Hænger sammen med dette spørgsmål :)
Avatar billede arne_v Ekspert
28. oktober 2005 - 14:37 #14
Jeg tror måske at CookieContainer kan hjælpe på det !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester