Delphi2010と最新バージョンのIndy10を使用してCraigslistにログインし、アカウントページを取得しようとしています(すべての投稿のリストを収集するため)。
ただし、ログインの詳細を投稿すると、返されるHTMLはログインページのHTMLですが、アカウントページに投稿が一覧表示されることを期待しています。
これが私の最新のコードです:
function TfrmMain.Login: string;
var
IdHTTP: TIdHTTP;
Request: TStringList;
Response: TMemoryStream;
SSLHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
Result := '';
try
Response := TMemoryStream.Create;
try
Request := TStringList.Create;
try
Request.Add('op=login');
Request.Add('redirect=http://www.craigslist.org/');
Request.Add('login=' + edtEmail.Text);
Request.Add('password=' + edtPassword.Text);
IdHTTP := TIdHTTP.Create;
try
SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
try
SSLHandler.SSLOptions.Method := sslvSSLv3;
SSLHandler.SSLOptions.Mode := sslmUnassigned;
IdHTTP.IOHandler := SSLHandler;
IdHTTP.AllowCookies := True;
IdHTTP.HandleRedirects := True;
IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
IdHTTP.Post('https://accounts.craigslist.org/login', Request, Response);
Result := IdHTTP.Get('https://accounts.craigslist.org/');
finally
SSLHandler.Free;
end;
finally
IdHTTP.Free;
end;
finally
Request.Free;
end;
finally
Response.Free;
end;
except
on E: Exception do
ShowMessage(E.Message);
end;
end;
メールとパスワードがリクエストパラメータで渡されるので正しい値であることをデバッグで確認しましたが、期待するページが表示されないのはなぜですか?