在ie登录成功会跳转页面
抓包post后的数据如下:
HTTP/1.1 302 Found
Date: Sat, 17 Dec 2011 03:03:43 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Location: http://www.ordroshop.cn/VipHome.aspx
Set-Cookie: ASP.NET_SessionId=d0bejn55ke5jou55vqao1u55; path=/; HttpOnly
Set-Cookie: j6ZJnpOJgJcqEuXCO5GZgzN0XF7eV%2Bl7=Id=YVnZLA8Oiaw=&Account=K2%2BUldK9l2YzdFxe3lfpew==&Type=aWrzlN6mAyI=; path=/
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 153<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://www.ordroshop.cn/VipHome.aspx">here</a>.</h2>
</body></html>个人的程序如下
procedure TForm1.btnStartClick(Sender: TObject);
var
F: TextFile;
FileName: String;
url: String;
FeedBack: String;
mStream: TMemoryStream;
sData: String;
Feedback: String;
Data: TStrings;
n, n1, n2: Integer;
begin
FileName := FPath + 'temp.txt';
url := 'http://www.ordroshop.cn/login.aspx';
mStream := TMemoryStream.Create;
FHttp := TIDHttp.Create(nil);
FHttp.HandleRedirects := True;
Feedback := FHttp.Get(url);
FHttp.Get(url, mStream);
mStream.SaveToFile(FileName);
FreeAndNil(mStream);
AssignFile(F, FileName);
Reset(F);
while Not Eof(F) do
begin
ReadLn(F, Data);
Data := utf8toansi(data);
n := pos('__VIEWSTATE', sData);
if n > 0 then
begin
n1 := pos('value="', sdata);
n2 := pos('" />', sdata);
FViewState := copy(sdata, n1 + 7, n2 - n1 - 7);
mminfo.Lines.Add(FViewState);
end;
n := pos('__EVENTVALIDATION', Data);
if n > 0 then
begin
n1 := pos('value="', sdata);
n2 := pos('" />', sdata);
FViewState := copy(sdata, n1 + 7, n2 - n1 - 7);
mminfo.Lines.Add(FViewState);
break;
end;
end;
CloseFile(F);
//上面的程序为了得到__VIEWSTATE和__EVENTVALIDATION的值 Data := TStringList.Create;
Data.Add('__VIEWSTATE=' + FViewState);
Data.Add('__EVENTVALIDATION=' + FEventValidation);
Data.Add('=');
Data.Add('txtAccount=ZXdgMwRX');
Data.Add('txtPassword=DkEn9I866');
Data.Add('LoginSubmit.x=54');
Data.Add('LoginSubmit.y=22');
Feedback := FHttp.Post('http://www.ordroshop.cn/login.aspx', data);
mminfo.Lines.Add(Feedback);
end;程序执行到FeedBack := FHttp.Post('http://www.ordroshop.cn/login.aspx', data);
出现project temp.exe raised exception class EIdHTTPProtocalException with message 'HTTP/1.1 500 Internal Server请问各位老大帮忙看看
抓包post后的数据如下:
HTTP/1.1 302 Found
Date: Sat, 17 Dec 2011 03:03:43 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Location: http://www.ordroshop.cn/VipHome.aspx
Set-Cookie: ASP.NET_SessionId=d0bejn55ke5jou55vqao1u55; path=/; HttpOnly
Set-Cookie: j6ZJnpOJgJcqEuXCO5GZgzN0XF7eV%2Bl7=Id=YVnZLA8Oiaw=&Account=K2%2BUldK9l2YzdFxe3lfpew==&Type=aWrzlN6mAyI=; path=/
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 153<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://www.ordroshop.cn/VipHome.aspx">here</a>.</h2>
</body></html>个人的程序如下
procedure TForm1.btnStartClick(Sender: TObject);
var
F: TextFile;
FileName: String;
url: String;
FeedBack: String;
mStream: TMemoryStream;
sData: String;
Feedback: String;
Data: TStrings;
n, n1, n2: Integer;
begin
FileName := FPath + 'temp.txt';
url := 'http://www.ordroshop.cn/login.aspx';
mStream := TMemoryStream.Create;
FHttp := TIDHttp.Create(nil);
FHttp.HandleRedirects := True;
Feedback := FHttp.Get(url);
FHttp.Get(url, mStream);
mStream.SaveToFile(FileName);
FreeAndNil(mStream);
AssignFile(F, FileName);
Reset(F);
while Not Eof(F) do
begin
ReadLn(F, Data);
Data := utf8toansi(data);
n := pos('__VIEWSTATE', sData);
if n > 0 then
begin
n1 := pos('value="', sdata);
n2 := pos('" />', sdata);
FViewState := copy(sdata, n1 + 7, n2 - n1 - 7);
mminfo.Lines.Add(FViewState);
end;
n := pos('__EVENTVALIDATION', Data);
if n > 0 then
begin
n1 := pos('value="', sdata);
n2 := pos('" />', sdata);
FViewState := copy(sdata, n1 + 7, n2 - n1 - 7);
mminfo.Lines.Add(FViewState);
break;
end;
end;
CloseFile(F);
//上面的程序为了得到__VIEWSTATE和__EVENTVALIDATION的值 Data := TStringList.Create;
Data.Add('__VIEWSTATE=' + FViewState);
Data.Add('__EVENTVALIDATION=' + FEventValidation);
Data.Add('=');
Data.Add('txtAccount=ZXdgMwRX');
Data.Add('txtPassword=DkEn9I866');
Data.Add('LoginSubmit.x=54');
Data.Add('LoginSubmit.y=22');
Feedback := FHttp.Post('http://www.ordroshop.cn/login.aspx', data);
mminfo.Lines.Add(Feedback);
end;程序执行到FeedBack := FHttp.Post('http://www.ordroshop.cn/login.aspx', data);
出现project temp.exe raised exception class EIdHTTPProtocalException with message 'HTTP/1.1 500 Internal Server请问各位老大帮忙看看
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货