我用httpclient做登陆网站的工作,用postMethod,有的网站很顺利,
但 www.zhaopin.com 却登不上去,返回200状态码。成功的网站返回的是302状态码。“http://my.zhaopin.com/loginmgr/loginproc.asp”,
{'loginname' : '[email protected]', 'password' : 'MyPass'}
参数应该没错。如果说登陆成功了,为什么跟用户有关的页面得到的源代码都不对呢?形如 <head><title>Object moved</title></head>
<body><h1>Object Moved</h1>This object may be found <a HREF="/loginmgr/login.asp?BkUrl=%2Fmyzhaopin%2Fresume%5Fpublish%2Easp%3Fext%5Fid%3DJR110119R70%26resume%5Fid%3D110119%26Version%5FNumber%3D1%26language%5Fid%3D1">here</a>.</body>please!!!
但 www.zhaopin.com 却登不上去,返回200状态码。成功的网站返回的是302状态码。“http://my.zhaopin.com/loginmgr/loginproc.asp”,
{'loginname' : '[email protected]', 'password' : 'MyPass'}
参数应该没错。如果说登陆成功了,为什么跟用户有关的页面得到的源代码都不对呢?形如 <head><title>Object moved</title></head>
<body><h1>Object Moved</h1>This object may be found <a HREF="/loginmgr/login.asp?BkUrl=%2Fmyzhaopin%2Fresume%5Fpublish%2Easp%3Fext%5Fid%3DJR110119R70%26resume%5Fid%3D110119%26Version%5FNumber%3D1%26language%5Fid%3D1">here</a>.</body>please!!!
PostMethod post=new PostMethod("登陆页面提交的那个action的url");//这个url千万不要写成了登陆页面的url,而是它提交表单里面得form里的那个action的urlNameValuePair data[]=NameValuePair []data={....};
post.setRequestHeader("Accept", "", */*");
post.setRequestHeader("Accept-Encoding", "");
post.setRequestHeader("Accept-Language", "");
post.setRequestHeader("Cache-Control", "");
post.setRequestHeader("Connection", "");
post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
post.setRequestHeader("Cookie", "");
post.setRequestHeader("Host", "");
post.setRequestHeader("Referer", "");
post.setRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; CIBA)");
post.setRequestBody(data); 在post中要添加 header的头信息,int StateCode=httpClient.executeMethod(post);//返回302说明页面要转向