![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TIdHTTP заменяет = на ?
DmitriyG. © (2009-09-19 16:30:00)Почему TIdHTTP автоматически заменяет в адресе вида:
http://blbalba.ru/zzz/n =15&v=2
первый знак равно (после n) на знак вопроса '?', т.е. получается адрес:
http://blbalba.ru/zzz/n ?15&v=2
var
http :TIdHTTP;
stream : TMemoryStream;
begin
...
http.Get(' http://blbalba.ru/zzz/n=15&v=2', stream);
...
Как можно избавиться от этого?
DmitryiG (2009-09-21 23:34:00) [1]С этим все впорядке... Уже использую его :-)
Просто было интересно разобраться...
А Инди насколько я знаю у меня тоже 10-ка...
sniknik (2009-09-21 16:59:00) [2]> Надо скачать новое...
сначала попробуй исправленный в sniknik © (20.09.09 22:45) [12] урл. такой меняет еще что то?
sniknik (2009-09-21 16:54:00) [3]у меня D7, но инди 10й (в 9ке у меня были какие то проблемы с ssl, не помню, пришлось перейти)
DmitryiG (2009-09-21 09:25:00) [4]Странно, я использовал Indy и то которое идет вместе с Delphi 2007 и Delphi 2009.... Оба возвращают 404, а снифер показывает ?...
Надо скачать новое...
sniknik (2009-09-20 23:01:00) [5]и еще кстати, я тут проверил данную ссылку, и никакой автоматической замены на ? не произошло... и урл доступен и картинку сохранил(проверить содержимое стрими), читаема получилась...
DmitriyG. (2009-09-20 22:55:00) [6]Гм... Действительно - это выход... Видно смогли от дурака защититься :-)
Спасибо большое, вроде бы все заработало...
sniknik (2009-09-20 22:54:00) [7]кстати, а пошли "это" post-ом, и все дела, не должно заменится, а сервер разберется... раз такой умный. :)
sniknik (2009-09-20 22:45:00) [8]> А такой адрес:
это просто сервер с "защитой от дурака", а должно быть так
http://khm.google.com/kh?v=45&hl=ru&x=1&y=1&z=2&s=G
McSimm (2009-09-20 15:57:00) [9]
> а такого точно не может быть. (не будут же каждый вариант
> значения отдельного параметра регистрировать как отдельный
> юрл...)
Вполне может такое быть, mod_rewrite позволяет преобразовывать части url в параметры.
Использование = в url_path не запрещается, просто отмечается, что этот (и некоторые другие) символ может иметь специальное значение в рамках схемы
> еще одно возможное грубое нарушение
Нет нарушения.
DmitriyG. (2009-09-20 14:05:00) [10]Ладно...
А такой адрес:
' http://khm.google.com/kh/v=45&hl=ru&x=1&y=1&z=2&s=G'
(извиняюсь за еще одно возможное грубое нарушение...)
sniknik (2009-09-20 10:10:00) [11]> Как можно избавиться от этого?
зачем? у тебя же строка запроса не верная, нет разделителя между юрл и параметрами, вот от этого надо избавляться... а там глядишь к правильному у TIdHTTP не будет претензий, и ничего он тебе не заменит...
> Но если сайт принимает строку именно в таком формате и с вопросом - ресурс недоступен!!!
это невозможно, без разделителя вся строка это адрес, а такого точно не может быть. (не будут же каждый вариант значения отдельного параметра регистрировать как отдельный юрл...)
Anatoly Podgoretsky (2009-09-20 00:08:00) [12]Надо сайт исправлять, поскольку подобный URL это грубое нарушение.
DmitriyG. (2009-09-19 19:24:00) [13]Исходники от нового Indy еще не скачал, но в том, который идет с Delphi 7 вроде бы ничего подобного сходу не нашел...Я сейчас использую инди для Delphi 2007 и 2009
Медвежонок Пятачок (2009-09-19 17:32:00) [14]исходники же есть
DmitriyG. (2009-09-19 17:29:00) [15]Да просто казалось, что должно быть свойство, отвечающее за это...
Медвежонок Пятачок (2009-09-19 17:29:00) [16]либо на CreateOleObject('MSXML2.XMLHTTP');
Медвежонок Пятачок (2009-09-19 17:24:00) [17]замени идшттп на идтспклиента и делай все вручную
DmitriyG. (2009-09-19 17:16:00) [18]Это понятно... Но если сайт принимает строку именно в таком формате и с вопросом - ресурс недоступен!!!
Медвежонок Пятачок (2009-09-19 17:06:00) [19]зачем избавляться от этого?
если правильный разделитель гет-параметров это и есть знак вопроса?