The problem still can't be solved.
I've tried to fit in exactly the same header with the related header info.
While logging into hotmail,
First
POST with the username and password to
http://lc1.law5.hotmail.passport.com/cgi-bin/dologin (other hidden field content CAN be
ignored), just username, password and the url correct will be okay.
and then the server will give out a response with Set-cookie header, Location header
with a url (response-url), and other headers.
Then the user agent will have to use GET method to get the above url (response-url)
just feedback from response from the server.
And at this GET method process, I failed.
Usually, netscape will post 6 header during the process GET.
1 request line
GET a-path HTTP/1.0
and 6 headers
connection: Keep-Alive
User-Agent: Mozilla/4.7 [en] (Win95; I)
Host: sth
ACCEPT: sth
ACCEPT_CHARSET: sth
ACCEPT_LANGUAGE: sth
and cookie header if some cookie matched.
Thanks for Alex that I use netcat to catch EXACTLY the above http headers.
interesting and strange thing is -- the above header 'HOST' doesn't mentioned in the rfc,
http/1.0 rfc 1945 and http/1.1 rfc 2068 ......
and the perl document from HTTP/Headers also don't talk about the header 'HOST' .............
And when we just use browser bypass the 1st POST action but have had the url responsed (response-url)
noted down and just let the browser GET the url (response-url), we can still
log in in hotmail.
but when I use perl script, or telnet to the host with port 80, host retrived from the above url (response-url),
just any other way to get the url (response-url) not using browser, with
the same header fill in, I failed, failed to login to hotmail ...
Don't know why.
The browser is just to feed in some headers, in the request process with method GET
to the url (response-url), it succeed.
The action using perl script, or to telnet to the host from the url (response-url) 80, with
the 6 headers with corresponding header info fill in, I failed.
So the process between the browser and my telnet action should be the same.
Don't know why hotmail can identify their difference and the login process failed
without using browser.
I've tried to change the file /etc/services and the telnet port is changed to 80, and then
use the telnet action again, just still failed.
Anything I missed ? or some suggestions ?
The similar process was found to be success to other freemails, portals,
I've tried 8 other freemails, and some other portals, tried to login to freemail,
to get pages from portals, and totoally I guess about 30,
And all passed.
But just failed for hotmail ......
and don't have some concrete idea about the failure, and just for hotmail.com.
If anyone interested, then just can randomly get an account from hotmail and then have some scripts or
programms or just telnet manually to the host with port 80 and feed in some headers, and get responses
from the server and retrive required info from the resposne and repeat similar process, to try to login
to hotmail not using browser to have a try on it.
Thanks for helping on it and thanks for any other suggestion for it.
Thanks 3*1024^2
boy
: >