Конференция "Сети" » Трабл с IDHTTP [D7, Win2k, WinXP]
 
  • keymaster © (15.02.10 12:08) [0]
    Задача - отправить методом POST запрос и посмотреть, что вернётся.
    InputData := TStringList.Create;
    InputData.Add('Field1=Value1');
    InputData.Add('Field2=Value2');
    InputData.Add('Field3=Value3');

    ResultMemo.Lines.Text := IdHTTP1.Post('testscript.aspx', InputData);


    На последней строке - вылетает с "invalid class typecast", как показал разбор полётов -
    на строке 852 в модуле IdHttp.pas:
    (IOHandler as TIdSSLIOHandlerSocket).PassThrough := false;



    При этом:
    а) если вместо требуемых параметров соорудить авторизацию в ЖЖ - всё работает окейно
    б) если отправлять не из приложения, а из отдельной формы в созданном руками html-файле - всё работает как часы.

    Ответ скрипта представляет собой либо http ошибку (404,500 и т.д.)
    либо несколько строчек обычного текста.
    Используется Indy 9

    Что может вызывать такое поведение?
  • Дмитрий Белькевич (15.02.10 16:18) [1]
    Судя по ошибке в IOHandler as TIdSSLIOHandlerSocket, IOHandler не является TIdSSLIOHandlerSocket. Видимо - отчасти глюки Indy, отчасти - глюки у тебя. Судя по приведению копать в направлении работы с SSL.
  • keymaster © (15.02.10 16:26) [2]
    Уже копаю.
    Но теперь постоянно утыкаюсь в "could not load SSL library", хотя все нужные библиотеки (libeay32.dll, libssl32.dll, ssleay32.dll) в system32 лежат.
  • Slym © (16.02.10 13:42) [3]
    Indy использует не стандартные ssl либы, а свои "левые"...
    Качай либы там откуда брал Indy
 
Конференция "Сети" » Трабл с IDHTTP [D7, Win2k, WinXP]
Есть новые Нет новых   [134438   +31][b:0][p:0.001]