![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
suxxor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
Как корректно получить имя файла из URL?
1) из самой ссылки (если она имеет вид к примеру http://www.host.com/path/filename.ext или /path/filename.ext?param1=1¶m2=2 ) 2) можно извлечь его из параметра Content-Disposition заголовка, но он не всегда присутствует 3) из заголовка Location повторяем вариант №1 Нужно извлечь все описаные параметры с использованием regex (я использую TR1) К первому варианту я примернго написал регулярку:
к остальным нужна помощь |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
а варианты типа http://forum.vingrad.ru/forum/s/d8986f426c...%25D0%25B8.html ты учел?
|
|||
|
||||
suxxor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
bsa, а это к чему?
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
это я к тому, что твое регулярное выражение не умеет работать с юникодом и спец символами.
|
|||
|
||||
suxxor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
bsa, как ты определил на глаз "...не умеет работать с юникодом..."?
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
натрави твой регэксп на ссылку, что я дал. в результате должен получиться файл с русскими буквами и расширением html. а на самом деле что выйдет?
А на глаз очень просто: я не слышал чтобы regexp умел делать преобразование строк вида "%20%65%21" в " A!". По причине того, что формат url стандартен (не важно, для локального файла или удаленного), необходимо делать такое преобразование. В противном случае, ты лишишься возможность работать с именами файлов, содержащих пробелы и ряд других символов. |
|||
|
||||
suxxor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 14.10.2010 Репутация: нет Всего: нет |
bsa, ну для этого можно использовать функцию InternetCanonicalizeUrl
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |