Конференция "Сети" » Получение ответа на пост запрос
 
  • Create=== (17.01.13 11:29) [0]
    Здравствуйте.
    Вот так отправляю POST запрос:


    procedure TForm1.Button1Click(Sender: TObject);
    var
    s : TstringList;
    str : string;
    begin
     s:=TStringList.Create;
     s.Add('<?xml version=\"1.0\"?>');

     s.Add('<merchant.request>');
     s.Add('<wmid>150109397038</wmid>');
     s.Add('<lmi_payee_purse>Z333305805011</lmi_payee_purse>');
     s.Add('<lmi_payment_no>0</lmi_payment_no>');
     s.Add('<lmi_payment_no_type>0</lmi_payment_no_type>');
     s.Add('<secret_key>44324568433345WWD</secret_key>');
     s.Add('</merchant.request>');
     // вобщем добавляем свои параметры
     str:=idHttp1.Post('https://merchant.webmoney.ru/conf/xml/XMLTransGet.asp',s);
     memo1.Text:=str;
    end;



    в ответ получаю:

    <?xml version="1.0"?><merchant.response>
    <retval>-100</retval>
    <retdesc>&#1086;&#1073;&#1097;&#1072;&#1103; &#1086;&#1096;&#1080;&#1073;&#1082;&#1072; &#1087;&#1088;&#1080; &#1088;&#1072;&#1079;&#1073;&#1086;&#1088;&#1077; &#1079;&#1072;&#1087;&#1088;&#1086;&#1089;&#1072; step=1</retdesc>
    </merchant.response>



    <retval>-100</retval>
    означает: общая ошибка при разборе запроса

    У МЕНЯ DELPHI XE
  • Create=== (17.01.13 11:31) [1]
    То же самое делаю:

    <?php  

     

       $url="//merchant.webmoney.ru/conf/xml/XMLTransGet.asp" "="">https://merchant.webmoney.ru/conf/xml/XMLTransGet.asp" ;  

     

    //set up variables  

       $xmlData = '<merchant.request>  

       <wmid>150109397038</wmid>  

       <lmi_payee_purse>Z333305805011</lmi_payee_purse>  

       <lmi_payment_no>0</lmi_payment_no>  

       <lmi_payment_no_type>0</lmi_payment_no_type>  

       <sign>44324568433345WWD</sign>  

       <md5></md5>  

       <secret_key></secret_key>  

       </merchant.request>'
    ;  

     

     

     

       $curl = curl_init();  

       curl_setopt($curl, CURLOPT_URL, $url);  

       curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/xml"));  

       curl_setopt($curl, CURLOPT_POST, 1);  

       curl_setopt($curl, CURLOPT_POSTFIELDS, $xmlData);  

       curl_setopt($curl, CURLOPT_HEADER, true);  

       curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  

       $response = curl_exec ($curl);  

       curl_close ($curl);  

     

       echo "<pre>"; print_r($response); echo "</pre>";  

    ?>  



    Выдает:

    HTTP/1.1 200 OK  

    Date: Wed, 09 Jan 2013 07:06:07 GMT  

    Server: Microsoft-IIS/6.0  

    P3P: CP="CAO PSA OUR"  

    X-Powered-By: ASP.NET  

    Content-Length: 156  

    Content-Type: text/xml  

    Expires: Wed, 09 Jan 2013 07:06:07 GMT  

    Set-Cookie: ASPSESSIONIDQCBQASSD=ALKKMDMBOCOHONBHLBBDBPMJ; path=/  

    Cache-control: private  

     

     

    -7  

    sign not right:150109397038Z3333058050110 step=8



    ПОЧЕМУ КОД, ВЫПОЛНЕННЫЙ НА DELPHI XE. НЕВЕРНО ОТПРАВЛЯЕТ POST ЗАПРОС? И КАК ИСПРАВИТЬ????
  • brother © (17.01.13 12:01) [2]
    ты всеж решил реализовывать работу с кошельком веб мани сам?
  • brother © (17.01.13 12:03) [3]
    и в пхп ты не тоже отправляешь:

    > s.Add('<?xml version="1.0"?>');

    этого в пхп нет...
  • Create=== (17.01.13 12:21) [4]
    s.Add('<?xml version="1.0"?>');

    убрал.

    а ответ на запрос все тот же
  • brother © (17.01.13 12:23) [5]
    тогда пользуй снифер и смтри что отправляется...
  • Create=== (17.01.13 12:52) [6]
    <merchant.request>&<wmid>150109397038</wmid>&<lmi_payee_purse>Z333305805011</lmi_payee_purse>&<lmi_payment_no>0</lmi_payment_no>&<lmi_payment_no_type>0</lmi_payment_no_type>&<sign>44324568433345WWD</sign>&<md5></md5>&<secret_key>44324568433345WWD</secret_key>&</merchant.request>

    так сниффер показал.
    Но сервер то почему то не понимает
  • Create=== (17.01.13 13:02) [7]
    Заработало!
    Нужно было:
    ss:=TStringStream.Create(s.Text, TEncoding.UTF8);
     // вобщем добавляем свои параметры
     str:=idHttp1.Post('https://merchant.webmoney.ru/conf/xml/XMLTransGet.asp',  ss);
 
Конференция "Сети" » Получение ответа на пост запрос
Есть новые Нет новых   [134427   +34][b:0][p:0.003]