0

Delphiを使用してcraigslistにログインし、アカウントページを取得しようとしています(すべての投稿のリストを収集するため)

しかし、ログインが機能しないようです。何が間違っているのでしょうか。

function TfrmMain.Login: string;
var
  IdHTTP: TIdHTTP;
  Request: TStringList;
  Response: TMemoryStream;
begin
  Result := '';
  try
    Response := TMemoryStream.Create;
    try
      Request := TStringList.Create;
      try
        Request.Add('op=login');
        Request.Add('redirect=http://newyork.craigslist.org/');
        Request.Add('login=' + myEmail);
        Request.Add('password=' + myPassword);
        IdHTTP := TIdHTTP.Create;
        try
          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
          IdHTTP.Free;
        end;
      finally
        Request.Free;
      end;
    finally
      Response.Free;
    end;
  except
    on E: Exception do
      ShowMessage(E.Message);
  end;
end;

次の行に「IOHandler値が無効です」というメッセージが表示された例外クラスEIdIOHandlerPropInvalidが表示されます。

IdHTTP.Post('https://accounts.craigslist.org/login', Request, Response);

ありがとう

4

1 に答える 1

3

(Indy)TIdHTTP EIdSocketError Socket Error#0例外を参照して、ファイルをダウンロードするときの例外とコメントの提案を参照してください。最新バージョンのIndyにアップグレードする必要があるようです。

于 2013-03-25T16:29:54.547 に答える