-
Почему 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);
...
Как можно избавиться от этого?
-
зачем избавляться от этого?
если правильный разделитель гет-параметров это и есть знак вопроса?
-
Это понятно... Но если сайт принимает строку именно в таком формате и с вопросом - ресурс недоступен!!!
-
замени идшттп на идтспклиента и делай все вручную
-
либо на CreateOleObject('MSXML2.XMLHTTP');
-
Да просто казалось, что должно быть свойство, отвечающее за это...
-
исходники же есть
-
Исходники от нового Indy еще не скачал, но в том, который идет с Delphi 7 вроде бы ничего подобного сходу не нашел...Я сейчас использую инди для Delphi 2007 и 2009
-
Надо сайт исправлять, поскольку подобный URL это грубое нарушение.
-
> Как можно избавиться от этого?
зачем? у тебя же строка запроса не верная, нет разделителя между юрл и параметрами, вот от этого надо избавляться... а там глядишь к правильному у TIdHTTP не будет претензий, и ничего он тебе не заменит...
> Но если сайт принимает строку именно в таком формате и с вопросом - ресурс недоступен!!!
это невозможно, без разделителя вся строка это адрес, а такого точно не может быть. (не будут же каждый вариант значения отдельного параметра регистрировать как отдельный юрл...)
-
-
> а такого точно не может быть. (не будут же каждый вариант
> значения отдельного параметра регистрировать как отдельный
> юрл...)
Вполне может такое быть, mod_rewrite позволяет преобразовывать части url в параметры.
Использование = в url_path не запрещается, просто отмечается, что этот (и некоторые другие) символ может иметь специальное значение в рамках схемы
> еще одно возможное грубое нарушение
Нет нарушения.
-
-
кстати, а пошли "это" post-ом, и все дела, не должно заменится, а сервер разберется... раз такой умный. :)
-
Гм... Действительно - это выход... Видно смогли от дурака защититься :-)
Спасибо большое, вроде бы все заработало...
-
и еще кстати, я тут проверил данную ссылку, и никакой автоматической замены на ? не произошло... и урл доступен и картинку сохранил(проверить содержимое стрими), читаема получилась...
-
Странно, я использовал Indy и то которое идет вместе с Delphi 2007 и Delphi 2009.... Оба возвращают 404, а снифер показывает ?...
Надо скачать новое...
-
у меня D7, но инди 10й (в 9ке у меня были какие то проблемы с ssl, не помню, пришлось перейти)
-
> Надо скачать новое...
сначала попробуй исправленный в sniknik © (20.09.09 22:45) [12] урл. такой меняет еще что то?
-
С этим все впорядке... Уже использую его :-)
Просто было интересно разобраться...
А Инди насколько я знаю у меня тоже 10-ка...