Delphi Не отправляется POST запрос idHTTP - что делаю не так?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by dff, 23 Jun 2013.

  1. dff

    dff Banned

    Joined:
    7 Jun 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Проблема в символах, например в символе &

    Я не знаю почему так все происходит, может кто сможет мне помочь

    Делфи 2009 у меня

    Это функция отправки

    Code:
    function TForm1.SendData(url:string;url_str:string):string;
    var
    data: TStringStream;
    dump:TStream;
    dump_txt:TStringList;
    otv:string;
    begin
      RandHeader;
    
      //dump := TStringStream.Create('', TEncoding.UTF8);
      dump_txt:=TStringList.Create;
      dump:=TMemoryStream.Create;
      otv:='';
    
      IdHTTP1.Request.ContentType:='application/x-www-form-urlencoded; charset=UTF-8';
    
      data:=TStringStream.Create;
      data.WriteString(url_str);
    
          try
            IdHTTP1.Post(url,data,dump);
          except
          end;
    
            dump.Seek(0, soFromBeginning);
            dump_txt.LoadFromStream(dump);
            otv:=dump_txt.Text;
            dump.Free;
            dump_txt.Free;
            data.Free;
      SendData:=otv;
    end;
    Ну а так я отправляю запрос

    Code:
    SendData('http://site.xx/',
      '&url='+url+
      '&str_title='+str_title+
      '&str_price='+str_price+
      '&str_logo='+str_logo+
      '&str_company='+str_company+
      '&str_name='+str_name+
      '&str_phone='+str_phone);

    Так вот если в какую нибудь переменную вдруг попадет кривой символ, то запрос не отправляется и не доходит

    Я уже задолбался с этой проблемой

    Кто нибудь сталкивался с подобным?
     
  2. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    urencode
     
  3. fata_l

    fata_l New Member

    Joined:
    24 Aug 2012
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    мб urLencode?

    А лучше используй TStringList для POST data