Нужна спецификация url-адресов

Форум для программистов

Сообщение Миша Спларов » Пн авг 25, 2003 5:24 pm

2igorl
Вышли (maxdrowdy собака fromru.com)
2Night Angel
Это не интересно. Вся идея в том, чтобы научится делать правильные регэкспы.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение Vit » Пн авг 25, 2003 7:37 pm

Правила URL? в принципе может быть всё что угодно - я могу сделать свой протокол и посылать в URL любые крокозяки, моя программа будет их отлавливать и интерпретировать...

Правила построения URL для email определяется SMTP протоколом, стандарт описан в RFC-821

Для протокола HTTP существует много спецификаций, например RFC-2068

Для других распространённых протоколов тоже есть свои RFC - вот именно там и надо смотреть. В том виде как Вы задали вопрос, ответ предполагается на много килобайт, ведь даже по предложению на каждый широкораспространённый протокол это ж сколько будет?
<span style='color:red'>With the best wishes, <a href='http://delphist.com' target='_blank'>Vit</a></span>
Все всегда уезжают навсегда. Вернуться невозможно, вместо нас возвращается кто-то другой.
Самый большой Delphi FAQ на русском языке здесь: <a href='http://www.drkb.ru' target='_blank'>www.drkb.ru</a>
Vit
Ст. лейтенант
 
Сообщений: 133
Зарегистрирован: Чт ноя 21, 2002 5:15 pm
Откуда: Chicago
Пункты репутации: 0

Сообщение Миша Спларов » Пн авг 25, 2003 8:17 pm

2Vit
Я уже понял, что всё это не так просто, а цель всей этой мутаты я написал в своём предидущем посте.
А rfc'шки посмотрю. Спасибо.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение Vit » Вт авг 26, 2003 1:01 am

<!--QuoteBegin--Max Drowdy+Aug 23 2003, 03:43--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Max Drowdy @ Aug 23 2003, 03:43)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> 2Night Angel
Допустим есть url вида (я его разделил на несколько частей обозначением '|номер|' ): http://|1|www.lenin.|2|com|3|/?page=news
Сколько максимум символов может быть в части 1-2?
Список всех доменов первого уровня (2-3) кромке двухбуквенных где взять?
за 3 - какие символы могут быть по спецификации? <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
В части 1 и 2 - максимум не то 63 не то 64 символа
Список всех доменов скорее всего можно взять на NetworkSolutions
3 - в принципе практически любые

Скажем так если очень надо проверить на валидность наличие домена, то наверное надо DNS сервер запросить, всё остальное проверить очень сложно.

Упрощённо дело как обстоит, есть адрес:

<a href='http://Http://крокозяки.yahoo.com/крокозяки' target='_blank'>Http://крокозяки.yahoo.com/крокозяки</a>

Когда такой адрес попадается то из него вытаскивается "yahoo.com" и запрашивается у DNS сервера реальный адрес. Далее происходит соединение с указанным сервером (или с раутером) и ему посылается вся эта муть, уже сервер начинает разбирать эти крокозяки и думать что с ними сделать, если я напишу свой web сервер то он может такое принять!!! - в общем стандарты есть, но 100% они ничего не гарантируют. Например имя пользователя в email по спецификации RFC case sensitive, т.е. имя vitaly@yahoo.com и VITALY@yahoo.com - разные адреса, но покажите мне хоть один SMTP сервер, который бы так работал!
<span style='color:red'>With the best wishes, <a href='http://delphist.com' target='_blank'>Vit</a></span>
Все всегда уезжают навсегда. Вернуться невозможно, вместо нас возвращается кто-то другой.
Самый большой Delphi FAQ на русском языке здесь: <a href='http://www.drkb.ru' target='_blank'>www.drkb.ru</a>
Vit
Ст. лейтенант
 
Сообщений: 133
Зарегистрирован: Чт ноя 21, 2002 5:15 pm
Откуда: Chicago
Пункты репутации: 0

Сообщение igorl » Вт авг 26, 2003 2:39 pm

2Max Drowdy
Ушло. Отправил RFC1738 - описание URL'ов и RFC2616 - описание HTTP/1.1
Последний раз редактировалось igorl Вт авг 26, 2003 2:40 pm, всего редактировалось 1 раз.
igorl
Капитан
 
Сообщений: 167
Зарегистрирован: Вт апр 09, 2002 8:33 am
Откуда: Санкт-Петербург
Пункты репутации: 0

Сообщение Миша Спларов » Вт авг 26, 2003 2:56 pm

2Vit
<a href='http://networksolutions.com/' target='_blank'>http://networksolutions.com/</a> - если это, то там ничего путного я не нашёл. Можно поконкретнее?
2igorl
Не получил.
Шли на maxdrowdy собака webcreation.ru
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение Vit » Вт авг 26, 2003 6:06 pm

<a href='http://www.icann.org/tlds/' target='_blank'>http://www.icann.org/tlds/</a>
<span style='color:red'>With the best wishes, <a href='http://delphist.com' target='_blank'>Vit</a></span>
Все всегда уезжают навсегда. Вернуться невозможно, вместо нас возвращается кто-то другой.
Самый большой Delphi FAQ на русском языке здесь: <a href='http://www.drkb.ru' target='_blank'>www.drkb.ru</a>
Vit
Ст. лейтенант
 
Сообщений: 133
Зарегистрирован: Чт ноя 21, 2002 5:15 pm
Откуда: Chicago
Пункты репутации: 0

Сообщение Vit » Ср авг 27, 2003 2:18 am

Вот я нашёл может интересно будет:

Данная функция позволяет Вам проверить существование определённого адреса(URL) в интернете. Естественно она может пригодиться веб-мастерам, у которых на сайте много ссылок, и необходимо с определённой периодичнойстью эти ссылки проверять.

URL может быть как с префиксом http:/ так и без него - эта функция добавляет префикс http:// если он отсутствует (необходимо для функции internetOpenUrl которая так же поддерживает FTP:// и gopher://

Эта функция проверяет только два возвращаемых кода '200'(ОК) или '302' (Редирект), но Вы можете заставить проверять функцию и другие коды. Для этого достаточно модифицировать строчку "result := ".



uses wininet;

function CheckUrl(url: string): boolean;
var
hSession, hfile, hRequest: hInternet;
dwindex, dwcodelen: dword;
dwcode: array [1..20] of char;
res: pchar;
begin
if pos('http://', lowercase(url)) = 0 then
url := 'http://'+url;
Result := false;
hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if assigned(hsession) then
begin
hfile := InternetOpenUrl(hsession, pchar(url), nil, 0, INTERNET_FLAG_RELOAD, 0);
dwIndex := 0;
dwCodeLen := 10;
HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex);
res := pchar(@dwcode);
result := (res = '200') or (res = '302');
if assigned(hfile) then
InternetCloseHandle(hfile);
InternetCloseHandle(hsession);
end;
end;
<span style='color:red'>With the best wishes, <a href='http://delphist.com' target='_blank'>Vit</a></span>
Все всегда уезжают навсегда. Вернуться невозможно, вместо нас возвращается кто-то другой.
Самый большой Delphi FAQ на русском языке здесь: <a href='http://www.drkb.ru' target='_blank'>www.drkb.ru</a>
Vit
Ст. лейтенант
 
Сообщений: 133
Зарегистрирован: Чт ноя 21, 2002 5:15 pm
Откуда: Chicago
Пункты репутации: 0

Сообщение igorl » Ср авг 27, 2003 7:41 am

2Max Drowdy
Ушло еще раз на webcreation.ru. Надеюсь теперь дойдет.

ЗЫ
Если вдруг опять не дойдет, то можешь попробовать взять <a href='http://amber.tepkom.ru/igorl/url_rfcs.rar' target='_blank'>здесь</a>. Вот только скорости большой не обещаю <!--emo&:(-->Изображение<!--endemo-->
Последний раз редактировалось igorl Ср авг 27, 2003 7:48 am, всего редактировалось 1 раз.
igorl
Капитан
 
Сообщений: 167
Зарегистрирован: Вт апр 09, 2002 8:33 am
Откуда: Санкт-Петербург
Пункты репутации: 0

Сообщение Миша Спларов » Ср авг 27, 2003 2:05 pm

2igorl
Thanks.
2Vit
Спасибо, но в одном из постов выше я написал зачем мне эта штука была нужна.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Пред.

Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1