ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[Delphi] Проблема с символом "&" в post-запросе
  #1  
Старый 28.01.2010, 18:24
frxmaster
Новичок
Регистрация: 28.12.2009
Сообщений: 27
Провел на форуме:
356537

Репутация: 11
По умолчанию [Delphi] Проблема с символом "&" в post-запросе

При разработке программы столкнулись с такой проблемой:

Когда в пост-запросе передаётся ссылка такого вида:
http://mysite.ru/go?id=1775497&ssid=gyurtnrutk&midd=gfgfg

символ & распознается как дополнительный параметр в пост запросе и все что после него отправляется отдельно

есть ли какой-то метод корректно передать ссылку?
 
Ответить с цитированием

  #2  
Старый 28.01.2010, 22:41
GlooK
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме:
2310282

Репутация: 149
По умолчанию

Цитата:
Сообщение от frxmaster  
При разработке программы столкнулись с такой проблемой:

Когда в пост-запросе передаётся ссылка такого вида:
http://mysite.ru/go?id=1775497&ssid=gyurtnrutk&midd=gfgfg

символ & распознается как дополнительный параметр в пост запросе и все что после него отправляется отдельно

есть ли какой-то метод корректно передать ссылку?
Да ладно?

Чем отправляешь? Если на винсоках, то запрос будет выглядить так:
Код:
POST /go?id=1775497&ssid=gyurtnrutk&midd=gfgfg HTTP/1.1
Host: mysite.ru
....
....
....
postvalue1=postkey1&postvalue2=postkey2
 
Ответить с цитированием

  #3  
Старый 28.01.2010, 23:36
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от frxmaster  
При разработке программы столкнулись с такой проблемой:

Когда в пост-запросе передаётся ссылка такого вида:
http://mysite.ru/go?id=1775497&ssid=gyurtnrutk&midd=gfgfg

символ & распознается как дополнительный параметр в пост запросе и все что после него отправляется отдельно

есть ли какой-то метод корректно передать ссылку?
Значения параметров POST запроса должны передаваться в URL кодировке. А в ней символ амперсанда заменяется на %26
 
Ответить с цитированием

  #4  
Старый 29.01.2010, 01:22
bmp152
Новичок
Регистрация: 25.05.2009
Сообщений: 15
Провел на форуме:
269065

Репутация: 6
По умолчанию

Цитата:
Чем отправляешь?
через idhttp
Код:
var
  http_client : tidhttp;
  params : :tstringlist;
  message : string;
begin
  message := 'http://domen.ru/12345&6789';
  params.add('Message=' + message);
  http_client.Post('URL', params);
end;
При этом постятся 2 параметра:
Код:
Message=http://domen.ru/12345
6789=
Хотя должно быть так:
Код:
Message=http://domen.ru/12345&6789
Пробовали функцию TIdURI.URLEncode, не помогло
Цитата:
Значения параметров POST запроса должны передаваться в URL кодировке. А в ней символ амперсанда заменяется на %26
Попробовал руками заменить, проходит нормально но ссылка уже получается битой почемуто
 
Ответить с цитированием

  #5  
Старый 29.01.2010, 01:24
TRX.new
Участник форума
Регистрация: 27.04.2009
Сообщений: 189
Провел на форуме:
1141766

Репутация: 69
По умолчанию

Цитата:
Сообщение от bmp152  
через idhttp
Код:
var
  http_client : tidhttp;
  params : :tstringlist;
  message : string;
begin
  message := 'http://domen.ru/12345&6789';
  params.add('Message=' + message);
  http_client.Post('URL', params);
end;
При этом постятся 2 параметра:
Код:
Message=http://domen.ru/12345
6789=
Хотя должно быть так:
Код:
Message=http://domen.ru/12345&6789
Пробовали функцию TIdURI.URLEncode, не помогло

Попробовал руками заменить, проходит нормально но ссылка уже получается битой почемуто
поставь перед & знак ^ .. может быть поможет...
 
Ответить с цитированием

  #6  
Старый 29.01.2010, 01:36
bmp152
Новичок
Регистрация: 25.05.2009
Сообщений: 15
Провел на форуме:
269065

Репутация: 6
По умолчанию

Цитата:
поставь перед & знак ^ .. может быть поможет...
Не помогает, тоже самое - все что после & постится как другой параметр
 
Ответить с цитированием

  #7  
Старый 29.01.2010, 02:13
GlooK
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме:
2310282

Репутация: 149
По умолчанию

Цитата:
Попробовал руками заменить, проходит нормально но ссылка уже получается битой почемуто
Что значит битой!?
Приведи реальный пример, на реальном сайте.
 
Ответить с цитированием

  #8  
Старый 29.01.2010, 02:16
narik_
Участник форума
Регистрация: 05.06.2009
Сообщений: 125
Провел на форуме:
1454012

Репутация: 59
Отправить сообщение для narik_ с помощью ICQ
По умолчанию

Ты через компоненту шлеш запрос ? если да то там есть опция передавать знак как знак и ли его аски код.
 
Ответить с цитированием

  #9  
Старый 29.01.2010, 03:39
bmp152
Новичок
Регистрация: 25.05.2009
Сообщений: 15
Провел на форуме:
269065

Репутация: 6
По умолчанию

Цитата:
Что значит битой!? Приведи реальный пример, на реальном сайте.
Например http://tinyurl.com/62cvp&random - норм редиректит
http://tinyurl.com/62cvp%26random - не редиректит

Цитата:
Ты через компоненту шлеш запрос ? если да то там есть опция передавать знак как знак и ли его аски код.
Да, нашел, спасиб.


Всем спасибо, решили проблему

Последний раз редактировалось bmp152; 29.01.2010 в 10:50..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Авторизация ВКонтакте Kandi С/С++, C#, Delphi, .NET, Asm 24 26.12.2009 01:31
[delphi] Проблема компиляции R1der23 С/С++, C#, Delphi, .NET, Asm 10 20.12.2009 22:24
Помогите найти откуда берутся 2 параметра в POST запросе? A_V PHP, PERL, MySQL, JavaScript 11 08.07.2009 00:00
[Delphi] Threads (проблема) Flenov С/С++, C#, Delphi, .NET, Asm 11 17.03.2009 08:45



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ