TIdHTTP Indy Tool을 사용하여 Delphi에서 URL에 액세스하려고합니다. 나는 다음과 같은 짓을 :URL이 데이터를 반환하지 않음 Delphi Indy TIdHttp
- 설정 쿠키 = 진정한
- 세트 리디렉션 = 진정한
- 추가에게 TIdCookieManager
http://sms.saicomvoice.co.za:8900/saicom/index.php?action=login&username=SOME_USERNAME&password=SOME_PASSWORD&login=login
POST 요청 작업을 처리 동의하고 그것을 반환 HTML. 문제는 올바른 HTML을 반환하지 않는다는 것입니다 (아래 이미지 참조).
URL (사용자 이름과 암호 기입)을 가져 와서 브라우저에 붙여 넣으면 정확하게 동일한 웹 사이트에 로그인합니다. 하지만 Delphi App을 사용하면 로그인 페이지의 HTML이 반환됩니다.
요청은 Delphi의 TTimer에서 시간 경과없이 실행되어야합니다.
누구든지 나를 올바른 길로 인도하거나이 문제를 어떻게 해결할 수있는 방향으로 나를 가리킬 수 있습니까?
몇 가지 추가 정보
- WriteStatus이 TListBox
BtnEndPoll에 출력을 기록하는 절차 것은 * 타이머를
Procedure TfrmMain.TmrPollTimer(Sender: TObject); Var ResultHTML: String; DataToSend: TStringList; Begin Inc(Cycle, 1); LstStatus.Items.Add(''); LstStatus.Items.Add('=================='); WriteStatus('Cycle : ' + IntToStr(Cycle)); LstStatus.Items.Add('=================='); LstStatus.Items.Add(''); DataToSend := TStringList.Create; Try WriteStatus('Setting Request Content Type'); HttpRequest.Request.ContentType := 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'; WriteStatus('Setting Request User Agent'); HttpRequest.Request.UserAgent := 'Mozilla/5.0 (Windows NT 5.1; rv:2.0b8) Gecko/20100101 Firefox/4.0b8'; WriteStatus('Posting Request'); ResultHTML := HttpRequest.Post(FPostToURL, DataToSend); WriteStatus('Writing Result'); FLastResponse := ResultHTML; WriteStatus('Cycle : ' + IntToStr(Cycle) + ' -- FINISHED'); LstStatus.Items.Add(''); Except On E: Exception Do Begin MakeNextEntryError := True; WriteStatus('An Error Occured: ' + E.Message); If ChkExceptionStop.Checked Then Begin BtnEndPoll.Click; WriteStatus('Stopping Poll Un Expectedly!'); End; End; End; End;
* 이미지 예를 정지
대신 HTML의 관련 부분을 텍스트로 포함 할 수 있습니까? – mjn