Конференция "Сети" » Отправка формы методом POST в Synapse [D7]
 
  • keymaster © (16.02.10 10:10) [0]
    Предыдущая проблема привела к отказу от использования INDY и шагу в сторону SYNAPSE.

    Но возник следующий вопрос:

    <form name="input" action="https://testserv.local/checker.aspx" method="post">
    ACTION_CODE=<input type="text" name="ACTION_CODE" value="1"/><BR>
    COMMAND_ID<input type="text" name="COMMAND_ID" value="2501" /><BR>
    SIGN<textarea name="SIGN" rows=12 cols=65></textarea><BR>
    <input type="submit" value="Submit" />

    В поле SIGN кладётся pgp clearsign-подпись, выглядящая примерно так:
    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    1&2501
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.2 (MingW32)

    iQCVAwUBS3lZwpdeeCQnoLMNAQKgDwP+I4FR8toKldKgwvv/F634pvq0pODFPxdD
    evnVypIVSXf7inuPO1A/ZC0vr4v97sx/tpc2dAb1gbhhc0t7to81B8rZd6JbuoEL
    L/y0ETHL5eebySXeasMXsTODxYjbqJEA4W7AISu6JnkYLdRhr9GBwcn2TprEvdbN
    1iFZWZtfttI=
    =cVw8
    -----END PGP SIGNATURE-----

    Собственно, если отправлять данные из этой формы через браузер - всё ок.

    В приложении действую так:

     Sign := TStringList.Create;
     Sign.Clear;
     Sign.Add('----BEGIN PGP SIGNED MESSAGE-----');
     Sign.Add('Hash: SHA1');
     Sign.Add('');
     Sign.Add('1&2501');
     Sign.Add('-----BEGIN PGP SIGNATURE-----');
     Sign.Add('Version: GnuPG v1.2.2 (MingW32)');
     Sign.Add('');
     Sign.Add('iQCVAwUBS3lZwpdeeCQnoLMNAQKgDwP+I4FR8toKldKgwvv/F634pvq0pODFPxdD');
     Sign.Add('evnVypIVSXf7inuPO1A/ZC0vr4v97sx/tpc2dAb1gbhhc0t7to81B8rZd6JbuoEL');
     Sign.Add('L/y0ETHL5eebySXeasMXsTODxYjbqJEA4W7AISu6JnkYLdRhr9GBwcn2TprEvdbN');
     Sign.Add('1iFZWZtfttI=');
     Sign.Add('=cVw8');
     Sign.Add('-----END PGP SIGNATURE-----');

     pSend.MimeType := 'application/x-www-form-urlencoded';

     sLine := ACTION_CODE=1&COMMAND_ID=1&SIGN='+Sign.Text
     WriteStrToStream(pSend.Document, sLine);
     pSend.HTTPMethod( 'POST', 'https://testserv.local/checker.aspx' );

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

    Кто имеет опыт с синапсом - в какую сторону копать?
  • keymaster © (16.02.10 16:20) [1]
    Вопрос закрыт =)
  • ujcnm (21.04.10 16:01) [2]
    Было бы не плохо хотя бы в общих чертах описывать решение....
  • Дмитрий (24.01.11 13:56) [3]
    Да, эгоистов много. Слезно просят помочь. Потом только "спасибо, разобрался".
 
Конференция "Сети" » Отправка формы методом POST в Synapse [D7]
Есть новые Нет новых   [134436   +25][b:0][p:0]