Läste [Hitta sessioncookien ] och har försökt använda koden, men koden fångar inte upp några cookies (och jag vet att de skickas, har loopat ut headern) Testa: Antar att du menar: JVLA forum, varför slänger det in >BR< (kanske blanda ihop < o >) Header: testade du: varför gör den så? Jag skriver inga <br> sitter Pelle o puilar lite nu eller? ta mitt klipp o ta bort ala <br> o testa med den URL du har, får du träffar då? Nej, jag testar inte. Det är ni som slarvar med att skriva code-taggarna. En del var utan / i sluttaggen, andra hade stort C o Code som ställde till det. Borde kanske fixa dom småprylarna men allt sånt där vid tillfälle. Nu vet ni i alla fall vad som orsakade felen. Har redan klippt o klistrat: :P Hur funkar socket? är det lättare??? Nja, socket kräver ju mera. Eftersom du får ut headern kan du ju själv plocka ut din acookies. Programmet fångar inte upp cookiesen i Request.Cookies, men de finns i headern, det är det jag inte fattar... Hmm, kanske nåt path-fel på cookieexempel.cgi...Problem med cookies
<code>
CookieCollection myCookie = null;
private string GetHtml(string strSite)
{
string strText = "";
CookieContainer myCookieContainer = new CookieContainer();
myCookieContainer.Add(myCookie);
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();
myResponse.Close();
return strText;
}
private void Login()
{
string strInfo = "action=login&password=xxxxxx"; //"Username=****&Password=****";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] SomeBytes = encoding.GetBytes(strInfo);
//Market myMarket = new Market();
Console.WriteLine("Not logged in, wait...");
try
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://thomasa88.digitalrice.com/cookieexempel.cgi");
myRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)";
myRequest.ContentLength = SomeBytes.Length;
myRequest.Method = "POST";
myRequest.Timeout = 10000;
myRequest.AllowWriteStreamBuffering = true;
myRequest.CookieContainer = new CookieContainer();
myRequest.ContentType = "application/x-www-form-urlencoded";
StreamWriter myStream = new StreamWriter(myRequest.GetRequestStream());
myStream.Write(strInfo,0,SomeBytes.Length);
myStream.Close();
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
myCookie = myResponse.Cookies; //Cookien sparas som CookieCollection
MessageBox.Show(myResponse.Cookies.Count.ToString());
Console.WriteLine("Logged in!");
//--------
StreamReader puffStream =new System.IO.StreamReader(myResponse.GetResponseStream());
string HTML = puffStream.ReadToEnd();
puffStream.Close();
textBox1.Text=HTML;
if(HTML.IndexOf("Thomas Axelsson")!=-1)
{
MessageBox.Show("Inloggad");
}
if(HTML.IndexOf("du vara inloggad.")!=-1)
{
MessageBox.Show("Inte inloggad");
}
// Displays all the headers present in the response received from the URI.
Console.WriteLine("\r\nThe following headers were received in the response:");
// Displays each header and it's key associated with the response.
for(int i=0; i < myResponse.Headers.Count; ++i)
Console.WriteLine("\nHeader Name: {0}, Value: {1}",myResponse.Headers.Keys[i],myResponse.Headers[i]);
//--------
myResponse.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
</code>
Kör mot en sida som inte kräver verifiering (eftersom den funkar, men cookies tas inte emot), den skickar 4 cookies
//MrT
www.test.test.testSv: Problem med cookies
<code>
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.CookieContainer = new CookieContainer();
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
CookieCollection cookieCollection = myHttpWebResponse.Cookies;
for (int i = 0; i < cookieCollection.Count; i++)
{
Console.WriteLine(cookieCollection[i]);
}
httpWebResponse.Close();
</code>
Fungerar det?
//Johan NSv: Problem med cookies
Testa:
<code>
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.CookieContainer = new CookieContainer();
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
CookieCollection cookieCollection = myHttpWebResponse.Cookies;
for (int i = 0; i < cookieCollection.Count; i++)
{
Console.WriteLine(cookieCollection[i]);
}
httpWebResponse.Close();
</code>
Fungerar det?
//Johan N
Forumet verkar lite buggigt :-/
//MRTSv: Problem med cookies
Sv: Problem med cookies
The following headers were received in the response:
Header Name: Server, Value: Microsoft-IIS/5.0
Header Name: Date, Value: Thu, 04 Sep 2003 13:42:16 GMT
Header Name: Connection, Value: close
Header Name: Set-Cookie, Value: user=dbewley; expires=09-Nov-00 00:00:00 GMT; path=/cgi-bin/; domain=.bewley.net;,user_addr=213.66.10.99; expires=09-Nov-00 00:00:00 GMT; path=/cgi-bin/; domain=.bewley.net;,flag=black; expires=09-Nov-00 00:00:00 GMT; path=/cgi-bin/; domain=.iupui.edu;,car=honda:accord:88:LXI:green; expires=09-Nov-00 00:00:00 GMT; path=/cgi-bin/; domain=.bewley.net;
Header Name: Content-type, Value: text/html
Cookieloop:
[ingenting]
Mr T @thomassida.cjb.netSv: Problem med cookies
Testa:
<code>
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.CookieContainer = new CookieContainer();
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
CookieCollection cookieCollection = myHttpWebResponse.Cookies;
for (int i = 0; i < cookieCollection.Count; i++)
{
Console.WriteLine(cookieCollection[i]);
}
httpWebResponse.Close();
</code>
//Johan NSv: Problem med cookies
Sv: Problem med cookies
Frågan är om WebRequest kan ta de cookies som sätts eller om den bara kan ta ner dem som skickas i Headern?
Själv kör jag med Socket o inte Webrequest så jag är lite osäker på hur en better sig, därför är jag nyfiken på den kod jag skickade dig. de ggr jag kört med WebRequest så vet jag att cookien redan har blivit satt.
//Johan NSv: Problem med cookies
Sv: Problem med cookies
Header:
The following headers were received in the response:
Header Name: Server, Value: Microsoft-IIS/5.0
Header Name: Date, Value: Thu, 04 Sep 2003 13:42:16 GMT
Header Name: Connection, Value: close
Header Name: Set-Cookie, Value: user=dbewley; expires=09-Nov-00 00:00:00 GMT; path=/cgi-bin/; domain=.bewley.net;,user_addr=213.66.10.99; expires=09-Nov-00 00:00:00 GMT; path=/cgi-bin/; domain=.bewley.net;,flag=black; expires=09-Nov-00 00:00:00 GMT; path=/cgi-bin/; domain=.iupui.edu;,car=honda:accord:88:LXI:green; expires=09-Nov-00 00:00:00 GMT; path=/cgi-bin/; domain=.bewley.net;
Header Name: Content-type, Value: text/html
Cookieloop:
[ingenting]
Mr T @thomassida.cjb.netSv: Problem med cookies
Edit.
Körde socket i perl, man skicka o tog emot manuellt, samma här?
Mr T @thomassida.cjb.netSv: Problem med cookies
Testa detta.
Skapa två sidor en som sätter cookes och en som läser dem. Sedan använder du ex min kod går mot sidan som sätter dem, sedan ändrar du och går mot sidan som använder dem, fungerar det då?
Har inte möjlighet att testa själv idag :-(
//Johan NSv: Problem med cookies
Mr T @thomassida.cjb.netSv: Problem med cookies
http://www.chedhill.com/testcookie.asp gav:
<code>
Cookies
mycookie=ASDF
ASPSESSIONIDQQRCTBQT=OPDFMGLDKKGEAFMKHDBDNOJE
Headers
Fri, 05 Sep 2003 12:35:30 GMT
Microsoft-IIS/6.0
ASP.NET
0
text/html
mycookie=ASDF; path=/,ASPSESSIONIDQQRCTBQT=OPDFMGLDKKGEAFMKHDBDNOJE; path=/
private
</code>
//MrT