Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med inloggning på pellesoft

Postades av 2003-09-07 14:15:05 - Thomas Axelsson, i forum c# (c-sharp), Tråden har 9 Kommentarer och lästs av 991 personer

Försöker fixa ett program som kan logga in på pellesoft o tex chatta, skriva i forumet mm.

Har lyckats med att fånga cookien m. session, men längre kommer jag inte, nån som vet hur jag ska fixa det?

(koden är lite rörig ;) , bara för att testa innan jag skriver programmet)

<code>
CookieCollection cookieCollection=new CookieCollection();

//------------------Här ska memberid fyllas i!!!----------------------
string memberid="xxxxx";
//--------------------------------------------------------------------

private string GetHtml(string strSite)
{
string strText = "";

CookieContainer myCookieContainer = new CookieContainer();
myCookieContainer.Add(cookieCollection);

Debug.WriteLine("cookieCollection[0]: "+cookieCollection[0].Value);
Debug.WriteLine("myCookieContainer ps-cookies: "+myCookieContainer.GetCookies(new System.Uri(strSite)).Count);

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strSite);
//myRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)";
myRequest.CookieContainer = myCookieContainer;
Debug.WriteLine("myRequest.CookieContainer "+myRequest.CookieContainer.GetCookies(new System.Uri(strSite)).Count);
//myRequest.Referer="http://www.pellesoft.se/login.asp";

HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();

StreamReader myStreamReader = new StreamReader(myResponse.GetResponseStream(), Encoding.ASCII); //,Encoding.ASCII

strText = myStreamReader.ReadToEnd();

myStreamReader.Close();

Debug.WriteLine("---Cookies---");
CookieCollection CC = myResponse.Cookies;
for (int i = 0; i < CC.Count; i++)
{
Debug.WriteLine(CC[i]);
}

Debug.WriteLine("---SavedCookies---");
for (int i = 0; i < cookieCollection.Count; i++)
{
Debug.WriteLine(cookieCollection[i]);
}

Debug.WriteLine("---Headers---");
WebHeaderCollection headers=myResponse.Headers;
for (int i = 0; i < headers.Count; i++)
{
Debug.WriteLine(headers[i]);
}

myResponse.Close();

return strText;
}

void CookieTest()
{
string strInfo = "memberid="+memberid;

ASCIIEncoding encoding = new ASCIIEncoding();
byte[] SomeBytes = encoding.GetBytes(strInfo);


HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.pellesoft.se/login.asp"); //http://www.chedhill.com/testcookie.asp"); //http://thomasa88.digitalrice.com/cookieexempel.cgi");
httpWebRequest.CookieContainer = new CookieContainer();
httpWebRequest.ContentLength = SomeBytes.Length;
httpWebRequest.Method="post";
httpWebRequest.Timeout=10000;
httpWebRequest.AllowWriteStreamBuffering=true;
httpWebRequest.ContentType="application/x-www-form-urlencoded";
httpWebRequest.Referer="http://www.pellesoft.se";

StreamWriter myStream = new StreamWriter(httpWebRequest.GetRequestStream());
myStream.Write(strInfo,0,SomeBytes.Length);
myStream.Close();

HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();

Debug.WriteLine("<<Cookies>>");
cookieCollection = httpWebResponse.Cookies;
for (int i = 0; i < cookieCollection.Count; i++)
{
Debug.WriteLine(cookieCollection[i]);
}

Debug.WriteLine("<<Headers>>");
WebHeaderCollection headers=httpWebResponse.Headers;
for (int i = 0; i < headers.Count; i++)
{
Debug.WriteLine(headers[i]);
}

//Debug.WriteLine("Header: Set-Cookie:"+headers["Set-Cookie"]);

//cookieCollection.Add(new Cookie("memberid","xxxxx","","pellesoft.se"));

httpWebResponse.Close();

//----------------------------------------

string strSite="http://www.pellesoft.se";

string strText = "";

CookieContainer myCookieContainer = new CookieContainer();
myCookieContainer.Add(cookieCollection);

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strSite);
myRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)";
myRequest.CookieContainer = myCookieContainer;

HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();

StreamReader myStreamReader = new StreamReader(myResponse.GetResponseStream(), Encoding.ASCII); //,Encoding.ASCII

strText = myStreamReader.ReadToEnd();

myStreamReader.Close();

Debug.WriteLine(">---Cookies---<");
//CookieCollection CC = myResponse.Cookies;
cookieCollection.Add(myResponse.Cookies);
for (int i = 0; i < cookieCollection.Count; i++)
{
Debug.WriteLine(cookieCollection[i]);
}

Debug.WriteLine(">---Headers---<");
headers=myResponse.Headers;
for (int i = 0; i < headers.Count; i++)
{
Debug.WriteLine(headers[i]);
}

myResponse.Close();

//return strText;

Debug.WriteLine(cookieCollection.Count);
Debug.WriteLine(cookieCollection[0].Name);
Debug.WriteLine(cookieCollection[0].Value);
}

private void Form1_Load(object sender, System.EventArgs e)
{
CookieTest();
Debug.WriteLine("");
string ps=GetHtml("http://www.pellesoft.se");
//Debug.WriteLine(ps);
textBox1.Text=ps;
if(ps.IndexOf("Thomas Axelsson")!=-1) //<<<---Namn!
{
MessageBox.Show("inloggad");
}
else
{
MessageBox.Show("utloggad");
}
//textBox2.Text=GetHtml("http://www.pellesoft.se/"); //?lstForums=31

}
</code>

//MrT

<info>
PS. Om du ska testa koden o få utloggad/inloggad rätt måste du byta ut Thomas Axelsson mot ditt eget namn.
</info>


Svara

Sv: Problem med inloggning på pellesoft

Postades av 2003-09-07 15:01:17 - Johan Normén

Du måste skicka requester till de sidorna du vill komma åt och då även bifoga dina cookies. På detta sätt kommer du åt sidorna. Tänk på att Pelle har en timeout på sessionen så väntar du förlänge måste du se till så ditt app loggar in igen.

Alltså ta den kod du har, skriv in andra URL:er och förse requesten med de cookies du plockat hem.

//Johan N


Svara

Sv: Problem med inloggning på pellesoft

Postades av 2003-09-07 15:46:36 - Thomas Axelsson

Hmm... nu fattar jag inte riktigt, anropar ju GetHTML direkt efter och där i körs ju:

<code>
CookieContainer myCookieContainer = new CookieContainer();
myCookieContainer.Add(cookieCollection);

/.../

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strSite);
myRequest.CookieContainer = myCookieContainer;
</code>

//MrT


Svara

Sv: Problem med inloggning på pellesoft

Postades av 2003-09-07 17:11:42 - Johan Normén

Efter du anropat login, vad händer när du sedan anropar ex chatten genom GetHtml metoden?

//Johan N


Svara

Sv: Problem med inloggning på pellesoft

Postades av 2003-09-07 20:15:32 - Thomas Axelsson

Får cookien vid login, men när jag kör GetHTML på nån sida returneras bara första sidan (utloggad)...

(Ett annat mindre problem jag har är att åäö etc blir ?)

Mr T @thomassida.cjb.net


Svara

Sv: Problem med inloggning på pellesoft

Postades av 2003-09-08 08:26:45 - Johan Bovin

ang å,ä,ö så testa att ändra encoding i din StreamReader från Encoding.Ascii till t.ex. Encoding.Default eller Encoding.UTF7


Svara

Sv: Problem med inloggning på pellesoft

Postades av 2003-09-08 09:22:49 - Johan Normén

åäö beror på envodingen du kör. ASp .Net kör UTF8 som default detta kan du änra i web.config eller pilla med encoding klasserna så som Arathorn bla. gav exempel på.

Att du kommer till loginsidan fast du skickar rätt data kan ha med att pelle kanske gjort en rutin i bakgrunden som du inte känner till. Han kanske förnyar en cookie vad som. Detta kan du ju se genom att sniffa trafiken. Starta en sniffer logga in på Pellesoft, gå ex till chatten. Sedan kollar du hur denna trafik ser ut. Headern. Och sedan ser du om den stämmer med din egna.

//Johan N


Svara

Sv: Problem med inloggning på pellesoft

Postades av 2003-09-08 15:29:41 - Thomas Axelsson

Fick lite tips av Onkelborg, bla det att sniffa, ska oxå kolla cookie.asp, sen sa han att man alltid får session.. *tomat*

Mr T @thomassida.cjb.net


Svara

Sv: Problem med inloggning på pellesoft

Postades av 2003-09-08 15:51:05 - Johan Normén

Session får du alltid.
En fördel är att veta hur Pelle gjort för att själv kunna gå mot hans site.
Men när du väl gått mot Login och får ett ok att du är inloggad och får även de cookie ssom är satta skall du typ bara behöva skacka en request mot sida och bifoga de cookies du tog hem (där i ingår bla sessionsID).

Typ om du går mot inlogg: (Sniffade nu med automatisk inloggning påslagen :-( skall sticka nu steax åka så jag orkade inte logga ut.)
Så ser huvudet ut. OBS! Lösen skickas i klartext men detta är endas när automatisk inloggnign är påslagen.

GET /login.asp HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)
Host: www.pellesoft.se
Connection: Keep-Alive
Cookie: memberid=LÖSEN; ASPSESSIONIDSQBBDBDD=ECPKJHPDFDMAMKICCKPMKNIP

Samma data skickas till Summery2.asp Forumet.
GET /development/forum/summary2.asp HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://www.pellesoft.se/
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)
Host: www.pellesoft.se
Connection: Keep-Alive
Cookie: memberid=LÖSEN; ASPSESSIONIDSQBBDBDD=ECPKJHPDFDMAMKICCKPMKNIP

Så om du har dina cookies i din app skall du bara kunna köra GetHtml igen med annan URL. Du tappar inte dina cookies vid försöket efter login?

//Johan N


Svara

Sv: Problem med inloggning på pellesoft

Postades av 2003-09-08 15:55:32 - Johan Normén

<code>
CookieCollection cookieCollection=new CookieCollection();

//------------------Här ska memberid fyllas i!!!----------------------
string memberid="xxxxx";
//--------------------------------------------------------------------

private string GetHtml(string strSite)
{
string strText = "";

CookieContainer myCookieContainer = new CookieContainer();
myCookieContainer.Add(cookieCollection);
</code>

myCookieContainer.Add(cookieCollection); <--- är den tom? efter första varvet när du vill gå mot en annan sida? Nu måste jag dra. Maila gärna ditt projetk om du vill så kan jag ta en närmre titt om du inte löst det, lite svårt att utgå från koden du klistrat in då den inte är fullständig. minstrel@telia.com

Som sagt har du dina cookies vid runda två skall du inte ha några prob.


//Johan N


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
6 322
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies