Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / проверка наличие файла\страницы в инете / 25 сообщений из 37, страница 1 из 2
17.04.2012, 20:59
    #37758024
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
как проверить наличие файла в интернете? есть код закачки файла с инета на комп
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Dim oXMLHTTP As Object
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
oXMLHTTP.Open "GET", "http://qlewer.mgn-host.ru/moi file.txt"
oXMLHTTP.Send
Do While oXMLHTTP.readyState <> 4
    DoEvents
Loop
With CreateObject("ADODB.Stream")
     .Mode = 3
     .Type = 1
     .Open
     .Write oXMLHTTP.responseBody
     .SaveToFile "C:\Sys\" & "moi file.txt", 2
End With

пытался скачать файл, а потом проверить его наличие на компе(да, изначально неправильный подход + файл создавался в любом случае, даже если файл удалён с хостинга! видимо, сохраняется в какой-то переменной). а как просто проверить наличие файла?
...
Рейтинг: 0 / 0
17.04.2012, 21:07
    #37758032
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
qlewer,

Читай номер ответа от сервера, oXMLHTTP.status, если 200 то страница имеется, если 404 то соответственно не найдена. А вообще проверить надо на каждом конкретном сервере что выдаёт
...
Рейтинг: 0 / 0
17.04.2012, 21:09
    #37758033
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
1) Вызывайте метод Open синхронно;
2) Анализируйте возвращаемый методом код ошибки.
...
Рейтинг: 0 / 0
17.04.2012, 21:11
    #37758036
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
qlewer,

URLDownloadToFile чем-то не подошел ?
...
Рейтинг: 0 / 0
17.04.2012, 21:18
    #37758047
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
VSVLAD,

напиши плз код этой строчки.

Akina1) Вызывайте метод Open синхронно; т.е. синхронно? а ошибок я не вижу. код отрабатывал, если не изменяет память, в любом случае, даже без onerror
...
Рейтинг: 0 / 0
17.04.2012, 21:45
    #37758072
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
qlewerт.е. синхронно?
Метод Open имеет 5 параметров. Ты даёшь ему только 2 обязательных.

qlewerа ошибок я не вижу
Ты их не смотришь. Потому и не видишь.

qlewerкод отрабатывал, если не изменяет память, в любом случае
Код отрабатывает потому, что он выполняется асинхронно. объекту даётся команда, и управление тут же возвращается в код. А объект там себе фигачит. А ты, как [censored], ждёшь, когда он тебе сообщит, что readyState <> 4...
Он не сработал бы только в случае, если объекту не смогла быть передана команда.

qlewerдаже без onerror
On Error в принципе не способен поймать ошибку, возникшую в объекте.

PS. Скопипастив код, не поленись сперва разобраться, как он работает. Почитать маны. И только потом делать на его основе что-то своё.
...
Рейтинг: 0 / 0
19.04.2012, 08:39
    #37760356
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
Akina,

спс. пока не опробовал. возникнут вопросы по теме - напишу.
...
Рейтинг: 0 / 0
03.05.2012, 19:44
    #37781169
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
т.е. правильно я понял, что для того, чтобы проверить наличие файла в инете, мне придётся постоянно перезапускать прогу? WTF?.. мб подскажет кто способ попроще?
...
Рейтинг: 0 / 0
03.05.2012, 20:37
    #37781205
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
Перезапускать компьютер процедуру.
...
Рейтинг: 0 / 0
03.05.2012, 20:42
    #37781211
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
Antonariy,

в соседнем топике ведь обсуждали, что это не помогает. пока прогу не перезапустить, она продолжает возвращать одно и то же, а значит, и наличие файла будет возвращать самое первое, полученное при запуске, и плевать она хотела на то, что файл сто раз с тех пор создавался. или это распространяется только на содержимое файлов, а не на их наличие?
...
Рейтинг: 0 / 0
03.05.2012, 21:09
    #37781224
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
...
Рейтинг: 0 / 0
03.05.2012, 21:36
    #37781240
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
Antonariy,

что это? чем это поможет нормально проверить наличие файла?
...
Рейтинг: 0 / 0
03.05.2012, 22:03
    #37781266
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
Код: vbnet
1.
2.
    .setRequestHeader "Cache-Control", "no-store, no-cache"
    .setRequestHeader "Pragma", "no-cache"
...
Рейтинг: 0 / 0
03.05.2012, 22:23
    #37781275
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
Antonariy,

можешь объяснить, что делают эти строки?) плз
...
Рейтинг: 0 / 0
03.05.2012, 22:26
    #37781278
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
Antonariy,

как я понял, если впихнуть их в код, каждый следущий запрос будет выполняться "заново", без кэша. но что за "Pragma"?..
...
Рейтинг: 0 / 0
05.05.2012, 17:14
    #37784001
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
Antonariy
Код: vbnet
1.
2.
    .setRequestHeader "Cache-Control", "no-store, no-cache"
    .setRequestHeader "Pragma", "no-cache"

не помогло. "наличие файла" сохраняется, даже после удаления его с хостинга. т.е. запустил один раз, удалил файл с с хоста, а прога по прежнему считает, что файл существует. и наоборот: если файл появился, прога об этом не узнает. есть идеи?
...
Рейтинг: 0 / 0
05.05.2012, 20:20
    #37784194
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
Очищать кэш не через опции, а принудительно - именно каталог, и именно из "самой проги" (естественно, в "проге" должна быть "такая опция"), анализируя блокировку файлов... И перед этим - не забыть сбросить буфера, закрыть хэндлы файлов, располагающихся в кэше, в "самой программе"... И не забывать делать Update, чтобы быть уверенным, что клиент анализирует те же данные, что и реально имеются...

Вообще, чем вы там занимаетесь? Тупо копипастите куски кода и докладываете нам о результатах работы этой солянки сбороной?
...
Рейтинг: 0 / 0
05.05.2012, 20:23
    #37784196
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
Код: vbnet
1.
.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 UTC")
...
Рейтинг: 0 / 0
05.05.2012, 20:35
    #37784207
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
VSVLAD
Код: vbnet
1.
.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 UTC")

такая строка даже не записывается
...
Рейтинг: 0 / 0
05.05.2012, 20:44
    #37784217
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
BelowZero,
Ну естественно скобки убери. Строку взял из былого проекта на VB.NET
...
Рейтинг: 0 / 0
05.05.2012, 20:49
    #37784218
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
VSVLAD,

работает!!!!! спасибо)))
...
Рейтинг: 0 / 0
06.05.2012, 01:06
    #37784363
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
BelowZero, итого - можете выложить окончательную правильную проверку?
...
Рейтинг: 0 / 0
06.05.2012, 15:04
    #37784521
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
так же не знаю как по уму пишется адрес на хостинг, ну вот закачиваю специально файл, как программно узнать, что есть файл
.....1.txt
что нет файла
.....2.txt
...
Рейтинг: 0 / 0
07.05.2012, 11:10
    #37785028
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
катастрофа,

перечитай мои последние топики - в них готовые коды с объяснением каждой строчки. либо могу выложить код, когда буду в городе(завтра, мб)
...
Рейтинг: 0 / 0
07.05.2012, 12:07
    #37785068
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка наличие файла\страницы в инете
BelowZero, там в каждом посте охи, ахи, да и том как путь пишется не сказано нигде
>могу выложить код, когда буду в городе(завтра, мб) - на этом и остановимся
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / проверка наличие файла\страницы в инете / 25 сообщений из 37, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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