Q&A

  • idhttp 사용해서 로그인
'https://okasan.netrd.jp/'란 싸이트에 로그인 하는 프로그램을
만들려고 합니다.
idhttp를 써야 하는데,,,,,,

기존에 올라와있는 네이버 로그인하는 것으로 해봤는데,
port하는 부분에서 에러가 나더라구요


<!--CodeS-->
var
idhttp : TIdHttp;
aData : TStringList;
ms : TMemoryStream;
mime : TIdMultiPartFormDataStream;
i : Integer;
aURL : String;
ResultStr : String;
begin
ResultStr := '';
aURL :=  'https://okasan.netrd.jp/';
idhttp := TIdHttp.Create(nil);
aData := TStringList.Create;
ms := TMemoryStream.Create;
mime := TIdMultiPartFormDataStream.Create;
try
  // idhttp init
  idHttp.Host := aURL;
  idHttp.Request.Referer := aURL;
  idHttp.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)';
  idHttp.Request.ContentType := 'application/x-www-form-urlencoded';
  idHttp.HandleRedirects := true;

  // data
  aData.Add('id=');
  aData.Add('pw=');

  // data input
  idHttp.Request.ContentType := mime.RequestContentType;
  for i := 0 to aData.Count - 1 do
    mime.AddFormField(aData.Names[i], aData.Values[aData.Names[i]]);
  mime.Position := 0;

  // post data
  idHttp.Post(aURL, mime, ms);

  // data response
  if ms.Size > 0 then
  begin
    SetLength(ResultStr, ms.Size);
    Move(PChar(ms.Memory)^, ResultStr[1], ms.Size);
  end;
finally
  idhttp.Free;
  aData.Free;
  ms.Free;
  mime.Free;
end;
<!--CodeE-->
0  COMMENTS