powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как проверить, ссылка на файл или на страницу?
25 сообщений из 28, страница 1 из 2
Как проверить, ссылка на файл или на страницу?
    #39142103
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в ответе на HEAD запрос, в Content-Type: нет указания charset= значит мы запросили заголовок файла, а не страницы.
Запрос со ссылкой на страницу:
авторHEAD /index.php?RSongID=2312&Link=2312 HTTP/1.1
Host: www.smallchurchmusic.com
Connection: close
User-Agent: compatible; MSIE 7.0; Windows NT 6.0


HTTP/1.1 200 OK
Date: Mon, 04 Jan 2016 16:42:34 GMT
Server: Apache
X-Powered-By: PHP/5.3.29
Connection: close
Content-Type: text/html; charset=UTF-8Есть charset.

Запрос со ссылкой на файл:
авторHEAD /Snippet/S-ABabeLies-Corner-PipeLC-48-CAM.mp3 HTTP/1.1
Host: www.smallchurchmusic.com
Connection: close
User-Agent: compatible; MSIE 7.0; Windows NT 6.0


HTTP/1.1 200 OK
Date: Mon, 04 Jan 2016 16:36:53 GMT
Server: Apache
Last-Modified: Thu, 22 Jul 2010 05:34:13 GMT
Accept-Ranges: bytes
Content-Length: 181139
Connection: close
Content-Type: audio/mpegНет charset'а.
Может кто-то знает причину, почему это плохо. Это нормальный способ проверять ссылку?
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142105
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странная постановка вопроса. А что, страница - это не файл что ли?
Content-Type: text/html
Content-Type: audio/mpeg
Вот на это и смотри.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142112
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не разбираюсь в вэб-серверах, страница тоже файл конечно, но могу показать пример, когда html-файл в списке прочих файлов на странице.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142113
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.Smithстраница тоже файл конечнотогда хотелось бы услышать задачу. Пока что она звучит: "как мне отличить файл от файла"
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142114
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И при HEAD запросе со ссылкой на такой html-файл в ответе нет шарсета, т.е. сервер отвечает, что это файл, он не выдаёт этот html как страницу.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142118
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
charset - это кодировка. И она может быть не указана даже для html-файла

Тебе нужно определиться, чем ДЛЯ ТЕБЯ отличается "файл" от "страницы".
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142119
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProСтранная постановка вопроса. А что, страница - это не файл что ли?
Content-Type: text/html
Content-Type: audio/mpeg
Вот на это и смотри.Зачем? Я планирую качать и txt, и html, и mp3 файлы, не важно какое содержимое, важно что сервер отвечает на HEAD запрос.

Shocker.ProА.Smithстраница тоже файл конечнотогда хотелось бы услышать задачу. Пока что она звучит: "как мне отличить файл от файла"Какую задачу? Кто здесь будет выполнять задачу за меня? Не нужно придумывать. Начиная с названия темы был прямой вопрос.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142127
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Procharset - это кодировка. И она может быть не указана даже для html-файла
Тебе нужно определиться, чем ДЛЯ ТЕБЯ отличается "файл" от "страницы".Да, при чем здесь Я вообще. Может кто-то знает, по какому случаю вэб-сервер не показывает charset для html-файла.
В тоже время тотже сервер показывает charset для html-страницы, на которой кстати ссылка на тот первый html-файл.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142130
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.Smithпо какому случаю вэб-сервер не показывает charset для html-файла.он показывает то, что ему подсунул программист, который создал этот html-файл
А.SmithНачиная с названия темы был прямой вопрос.чтобы ответить на этот вопрос, нужно знать, чем отличается ДЛЯ ТЕБЯ "файл" от "страницы". Потому что "страница" - это тоже файл.
А.SmithДа, при чем здесь Я вообще.потому что задаешь вопрос ТЫ. Для меня "страница" это тоже файл, но у тебя какое-то другое понимание.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142132
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, что страница это не обязательно файл на сервере и мне также очевидно, что не каждый html-файл на вэб-сервере выдаётся как страница на HEAD запрос.
Я тоже подумал, что charset'а в ответе нет потому, что в html-файле нет, но вот он, в файле указан <meta charset="utf-8">, а сервер отвечает, без шарсета вот так:
авторHTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Mon, 04 Jan 2016 17:50:13 GMT
Content-Type: text/html
Content-Length: 82042
Last-Modified: Fri, 20 Nov 2015 10:07:29 GMT
Connection: close
Accept-Ranges: bytesДа, вопрос я задал, но опять, не потому, что я что-то считаю, мне так сервер отвечает. Вот я и спросил, можно таким способом пользоваться или это не показатель?
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142134
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.Smithhtml-файл на вэб-сервере выдаётся как страницау тебя каша в голове. Непонятно как ответить на твой вопрос, потому что ты в своих вопросах используешь бредовые утверждения.

С точки зрения КЛИЕНТА (браузера или твоей программы) пофигу, есть ли физически файл на сервере, или он формируется на лету, или достается из базы данных и т.п. С точки зрения клиента сервер отдает ФАЙЛ. Тип файла указан Content-Type: text/html, Content-Type: audio/mpeg и т.п. Как его будет интерпретировать клиент - это сервер не волнует. Серверу пофиг, рассматривает ли клиент этот файл как "страницу" или как что-то еще.

А.Smithможно таким способом пользоваться или это не показатель?КАКИМ способом пользоваться и ДЛЯ ЧЕГО ПОЛЬЗОВАТЬСЯ. Пока заглавный вопрос "Как проверить, ссылка на файл или на страницу?" или вопрос уже другой?
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142152
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProА.Smithhtml-файл на вэб-сервере выдаётся как страницау тебя каша в голове. Непонятно как ответить на твой вопрос, потому что ты в своих вопросах используешь бредовые утверждения.Мне точно нечего ответить человеку не отличающему вопрос от утверждения.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142159
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ничего не утверждал, моя цель не в этом. Я просто процитировал логи обмена, на которые ориентирую и мой вопрос был, можно ли на это полагаться.

Ну, вот я вычитал, что "мультиязыковые" сервера как вики могут не выдать charset'а, а в meta-тэге каждой конкретной странички указывают её charset.

Возможно протокол не обязывает сервер категорично указывать charset в заголовке ответа, но ведь поголовно все сервера его выдают при GET запросе страниц.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142165
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.Smithможно ли на это полагаться.в чём полагаться? задача до сих пор не ясна. Что именно ты хочешь определить по наличию либо отсутствию чарсета?
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142180
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ответе от википедии действительно в заголовке нет charset'а хотя запрос касался странички.
авторHTTP/1.1 301 TLS Redirect
Server: Varnish
Location: https://ru.wikipedia.org/wiki/User_Agent
Content-Length: 0
Accept-Ranges: bytes
Date: Mon, 04 Jan 2016 19:56:49 GMT
X-Varnish: 1214115036
Age: 0
Via: 1.1 varnish
Connection: close
X-Cache: cp3031 frontend (0)
Set-Cookie: WMF-Last-Access=04-Jan-2016;Path=/;HttpOnly;Expires=Fri, 05 Feb 2016 12:00:00 GMT
X-Client-IP: 91.215.221.250
Cache-Control: private, s-maxage=0, max-age=0, must-revalidate
Set-Cookie: GeoIP=RU:12:Grozny:43.31:45.70:v4; Path=/; Domain=.wikipedia.org

Хочу определить, имеет ли смысл скачать и сохранить как файл то, что по ссылке. Но похоже ориентироваться можно только по хвосту ссылки.
Если там что-то типа .xxx или .xxxx, то можно качать это в файл, а иначе наверняка скачаю какую нибудь страничку сайта.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142197
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.Smithимеет ли смысл скачать и сохранить как файл то, что по ссылкеЧто является смыслом для тебя - знаешь только ты и делиться этим с нами не хочешь.

Если под хвостом ссылки ты имеешь ввиду расширение - то это было бы неправильно. Контент html может вернуть расширение html, shtml, php, asp, aspx, cgi, в конце-концов расширения может не быть вовсе, при этом все равно вернется страничка html.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142198
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.SmithВ ответе от википедии действительно в заголовке нет charset'а хотя запрос касался странички.в приведенном ответе редирект на другую страничку: HTTP/1.1 301 TLS Redirect. Тебе стоило бы изучить хотя бы основы обмена по http, в частности коды ответов.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142203
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я долго втыкал в названные тобой вещи когда самостоятельно пытался написать сетевую часть.
Пользуясь асинхронными API посылал GET запросы, контролировал и парсил ответ, искал ссылки.
Но поиск по этому форуму навел меня на темы Дмитрия77, а он вполне обосновал пригодность IE.
Теперь, прежде чем показать пользователю список ссылок я отфильтровываю ссылки на страницы.
Именно так, как я уже указал не смотря на то, что в список попадут и статичные странички сайта.
Главное, что туда не попадёт потенциально-многочисленный мусор ссылок на php страницы и т.п.
Из этой темы я вынес мысль, что нельзя ориентироваться только на отсутствие charset в заголовке.
Возможно я совмещу эту проверку с проверкой расширения, хотя какое там расширение у ссылки.
Просто нет смысла содержать приличный потенциально настраиваемый список типов Content-Type.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142204
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.SmithПросто нет смысла содержать приличный потенциально настраиваемый список типов Content-Type.Почему? Можно ведь оперировать не только белым списком, но и черным.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142206
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну разумеется это значительно повысит гибкость настройки, но это и раздувает настройки. Я стараюсь не забывать о целесообразности. Не всё же в угоду исскуству))
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142208
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вот смотри - это ссылка на картинку, опубликованную в одной из тем этого форума

http://www.sql.ru/forum/actualfile.aspx?id=18590450

ты даже как человек по внешнему виду не сможешь определить, что это ссылка на картинку, а не на "страничку", как ты выражаешься.

Тебе поможет именно:
Content-Type: image/png; charset=UTF-8

(кстати, заметь, что тут есть чарсет)
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142210
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Однако. Т.е. ты советуешь проверять тип контента и отфильтровывать text/html, а если нужны htm(html) выключать фильтр? Кажется это то, что нужно.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142213
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм. Я посоветовал это в самом первом сообщении.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142219
Фотография А.Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И сейчас тот пост выглядит лишь как намёк. А тогда смысл понимался совсем по-другому. Ято считал, что сервер как-то направляет браузер.
Это возможно. На другом форуме мне показали, что действительно сервер принуждает браузер скачать, а не отобразить предлагаемый файл.
...
Рейтинг: 0 / 0
Как проверить, ссылка на файл или на страницу?
    #39142222
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервер не может ни к чему принудить браузер. Сервер вообще не знает, кто именно (какой клиент) у него запрашивает файл. Клиент может лишь добровольно сообщить (возможно, неправду) о том, кто он есть.
Существуют лишь некие соглашения о поведении клиента и сервера.

Но, исходя из того, что топик расположен в форуме Visual Basic, и наличие браузера в процессе обмена не было упомянуто, логично было предположить, что обмен с сервером ведет твоя программа, то есть многие соглашения можно просто проигнорировать.
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как проверить, ссылка на файл или на страницу?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]