|
0 Всего найдено: 15
c0upler
Сообщение
10/02/2009 11:31
Копия темы
Delphi IdHTTP . Проблема остается открытой. Как передать символ плюс в post'e php скрипту? подскажите пожалуйста... var sl: TStringList; sl := TStringList.Create; sl.add('first=sec+ond'); IdHTTP.Request.ContentType:='application/x-www-form-urlencoded'; IdHTTP.post('site.com', sl) При отправке запроса + заменяется на пробел (смотрю в HTTPAnalyser). Как тогда передать + ? Пробовал писать %2B, но оно обратно на + не заменяется. Кто-нибудь встречался с этим?
Donate
Сообщение
10/02/2009 11:36
Копия темы
. Через код символа пробуй. Либо вот так "\+" — не помню, работает такое в делфи или нет.
NightWriter
Сообщение
10/02/2009 11:37
Копия темы
. \+ работать не будет. Причем тут делфи? тут queryString http-шная
c0upler
Сообщение
10/02/2009 11:38
Копия темы
. Говорю же, пробовал писать %2B, но оно обратно на + не заменяется. Ну а уж 'sec'+#43+'ond' писать вообще бессмысленно это же не delphi + на пробел заменяет, а IdHTTP
c0upler
Сообщение
10/02/2009 11:40
Копия темы
. %2B – это окей. Почему не окей: 1) серверу запрос не нравится 2) когда смотрю post запрос браузера (любого), то там нормальный +, а не %2B
NightWriter
Сообщение
10/02/2009 11:43
Копия темы
. 1) чем серверу запрос не нравится? 2) не смотрите =)
c0upler
Сообщение
10/02/2009 11:45
Копия темы
. реакция сервера на запрос от браузера и от моей программы разная, а все остальные параметры одинаковые
NightWriter
Сообщение
10/02/2009 11:52
Копия темы
. и юзер-агент посылаете? И кукисы у вас одинаковые? что еще делаете для эмуляции браузера?
c0upler
Сообщение
10/02/2009 11:54
Копия темы
. Конечно, все нужные поля те же. Не поделитесь php-файлом, который в post принимает параметры и выводит их на страницу?
NightWriter
Сообщение
10/02/2009 11:57
Копия темы
. Логи HTTP Analyzer покажите и GET браузера. Да, и разницу в ответах
c0upler
Сообщение
10/02/2009 12:03
Копия темы
. Вот логи, но они ничего не значат, т.к. для простейшего скрипта проблема остается rar, 66.77 Кб
c0upler
Сообщение
10/02/2009 12:11
Копия темы
. Разницу там же увидите. Для браузера переходит на страницу загрузки фото, для моей программы n-ое количество раз редирект на эту же страницу, потом на ошибку.
c0upler
Сообщение
10/02/2009 13:11
Копия темы
. Проблема остается, и эта проблема в indy. Есть php скрипт: <?php echo $_POST['first']; ?> Он выводит на страницу значение параметра first Есть delphi код: sl := TStringList.Create; sl.Add('first=sec%2Bond'); s := form1.IdHTTP1.Post('alty.ru/mgagaster/test.ph.., sl); form1.Memo1.Lines.Add(s); ПРИ ЭТОМ в memo выводится sec%2Bond, т.е. обратно %2B на + не заменяется. Кто-нибудь знает в чем хитрость? )
c0upler
Сообщение
10/02/2009 13:43
Копия темы
0
Справка Indy . Нашел решение ) Убрать из HTTPOptions элемент hoForceEncodeParams, после этого %2B заменяется на + !!! |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |