Offshorent
asked on
Fiddler Vs Browser Cookies problem
Hello,
When I access the URL http://kgnzb.rvxrg.servertrust.com/login.asp using Chrome, I see that there are 3 cookies in the browser. Here is the screenshot. http://prntscr.com/27pfvl (used Chrome Developer tools with Javascript disabled)
However when I look at the Fiddler traffic, I see only two cookies. Screenshot http://prntscr.com/27pecx.
I see the same behavior as Fiddler when I scrape the page also.
Could some one explain why Fiddler and the Scraper sees only two cookies where the browser sees 3 cookies.
When I access the URL http://kgnzb.rvxrg.servertrust.com/login.asp using Chrome, I see that there are 3 cookies in the browser. Here is the screenshot. http://prntscr.com/27pfvl (used Chrome Developer tools with Javascript disabled)
However when I look at the Fiddler traffic, I see only two cookies. Screenshot http://prntscr.com/27pecx.
I see the same behavior as Fiddler when I scrape the page also.
Could some one explain why Fiddler and the Scraper sees only two cookies where the browser sees 3 cookies.
ASKER
Thank you for the reply. I did not imply browser send information cookies.
This is how I reproduce the issue using Chrome
1. Clear all cookies
2. Open up a Incognito window (CTRL+SHIFT+N)
3. Disable Javascripts
4. Verify the cookies in Chrome Developer tools (0 found)
5. Visit http://kgnzb.rvxrg.servertrust.com/login.asp
6. Look at the cookies in Chrome Developer tools (3 found)
Now monitor the Step 5 in Fiddler response. 2 Cookies.
Any ideas.
Thanks
This is how I reproduce the issue using Chrome
1. Clear all cookies
2. Open up a Incognito window (CTRL+SHIFT+N)
3. Disable Javascripts
4. Verify the cookies in Chrome Developer tools (0 found)
5. Visit http://kgnzb.rvxrg.servertrust.com/login.asp
6. Look at the cookies in Chrome Developer tools (3 found)
Now monitor the Step 5 in Fiddler response. 2 Cookies.
Any ideas.
Thanks
Yes, I already told you. You should not expect it to stay the same each time. If you continue your experiment you will see that the session cookies get sent from the browser with the next request but they do Not get sent back from the server... because the server knows what session cookies the browser has at that point.
Browsers Always send any cookies they have for that domain with every page request to that domain.
Also, "Incognito window" will delete cookies when that window is closed.
Your screen shots are showing perfectly normal behavior. What are you trying to accomplish?
Browsers Always send any cookies they have for that domain with every page request to that domain.
Also, "Incognito window" will delete cookies when that window is closed.
Your screen shots are showing perfectly normal behavior. What are you trying to accomplish?
ASKER
I am trying to programmatically log in to http://kgnzb.rvxrg.servertrust.com/login.asp using httpwebrequest/httpwebresp onse classes in dot net.
The above ASP form posts the to a a different server my.volusion.com.... which in return does a 302 to http://kgnzb.rvxrg.servertrust.com/login.asp?Session_Token=F4A......... and that page does a 302 to http://kgnzb.rvxrg.servertrust.com/myaccount.asp My application goes up to the first 302 and then it goes to http://kgnzb.rvxrg.servertrust.com/login.asp displaying the page to log in (http://kgnzb.rvxrg.servertrust.com/login.asp)
When look at Fiddler, the only difference I can see between the browser traffic and my program is that the browser does the first 302 request with three (two aspesesssion... and one VSettings) cookies where as my program and fiddler has only two cookies (one aspession..and on Vsettings..
The above ASP form posts the to a a different server my.volusion.com.... which in return does a 302 to http://kgnzb.rvxrg.servertrust.com/login.asp?Session_Token=F4A......... and that page does a 302 to http://kgnzb.rvxrg.servertrust.com/myaccount.asp My application goes up to the first 302 and then it goes to http://kgnzb.rvxrg.servertrust.com/login.asp displaying the page to log in (http://kgnzb.rvxrg.servertrust.com/login.asp)
When look at Fiddler, the only difference I can see between the browser traffic and my program is that the browser does the first 302 request with three (two aspesesssion... and one VSettings) cookies where as my program and fiddler has only two cookies (one aspession..and on Vsettings..
Nope, that's not how it works. I cleared the cookies and did a complete refresh and captured the headers. The second ASPSESSION cookie is set in a 404 response for a gif file. Attached is the whole sequence and you can see where the second ASPSESSION cookie is set.
servertrust-headers.txt
servertrust-headers.txt
Then I did the same process with Fiddler. There are only two cookies until that first 404 response which sets the third cookie, another ASPSESSION cookie. In both cases, you end up with 3 cookies though you start out with 2.
Note that if you click on the link in your question above, you will get 6 cookies because others are added to identify the REFERER, apparently for advertising purposes.
Note that if you click on the link in your question above, you will get 6 cookies because others are added to identify the REFERER, apparently for advertising purposes.
ASKER
Dave,
Thank you. Your hint helped. Now I am getting the cookie associated with the image.Now I am sending all the requests with same headers as a browser, but still can't get the second 302 correctly from my scraping application. The only difference I could see is the case sensitivity of "keep-alive" where my app sends "Keep-Alive" where as the browser sends "keep-alive". Not sure whether this makes a difference. The other question I have is whether order of items in a Request header matters or not. I am attaching the Request/Response header from the scraper and browser. I appreciate any help you could provide. Thank you.
Browser.txt
Scraper.txt
Thank you. Your hint helped. Now I am getting the cookie associated with the image.Now I am sending all the requests with same headers as a browser, but still can't get the second 302 correctly from my scraping application. The only difference I could see is the case sensitivity of "keep-alive" where my app sends "Keep-Alive" where as the browser sends "keep-alive". Not sure whether this makes a difference. The other question I have is whether order of items in a Request header matters or not. I am attaching the Request/Response header from the scraper and browser. I appreciate any help you could provide. Thank you.
Browser.txt
Scraper.txt
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I am good now. I was able to log in.Thanks
You're welcome.
In my browser, it does not send any the first time but it receives 5 cookies. When I use Fiddler after that, my browser sends 6 cookies including two ASPSESSION cookies and receives 4 cookies in the Response. The Response does not include the session cookies because they have already been set.
The number of cookies can change depending on whether you are looking at the Request or the Response. Your browser will normally send all the cookies it has for that domain in the Request header. The server will normally only send back cookies that are new or have been modified.