powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / VB.net HttpWebRequest загрузка файла с определенной позиции
13 сообщений из 13, страница 1 из 1
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999230
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
опишу свою задачу. нужно сделать чтото типо довнлоад менеджера для своего приложения.
для того чтобы реализовать функцию докачки файла из интернета необходимо произвести загрузку файла не с 1 байта а с последней недокаченой позиции. ну например с 345345байта.
пробовал со стрим ридером фантазировать но так и ничего не добился. позицию чтения никак не установить. думал что получится установить позицию через функцию read c параметрами буфер, индекс, коунт. но ошибся в этом).

помогите пожалуйста построить код. максимум чего я добился это этого
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    Dim url = "http://ya.ru"
        Dim request As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)
        request.Method = "GET"
        request.UserAgent = "Mozila/5.O (Windows; U; Windows NT 5.1; ru; rv:1.9.0.15) Gecko/2OO912O2O8 Firefox/3.O.16"

        Dim stream As Stream = request.GetResponse().GetResponseStream()
        Dim reader As New StreamReader(stream, System.Text.Encoding.UTF7)
        Dim b(100) As Char

        reader.Read(b, 1, 100)
        Dim result As String = New String(b)
        Me.TextBox1.Text = Replace(result, Chr(0), "")
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999239
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно еще так добавить
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim n = -1
        Dim b() As String
        Do
            n = n + 1
            ReDim Preserve b(n)
            b(n) = Chr(reader.Read())

            If reader.EndOfStream = True Then Exit Do

        Loop



если тут сделать так чтобы в стрим пропускал определенное количество байт то проблема будет решена но я не представляю как это реализовать
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999242
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
surbanec, для этих целей в HTTP есть заголовок Range . Обрати внимание, что не все серверы его поддерживают. В случае если он его поддерживает, то в ответе будет заголовок Content-Range. Внимательно изучи спецификацию протокола, чтобы правильно это реализовать.
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999258
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

а как тогда работают большинство даунлоад менеджеров? например download master.
если например сервер не поддерживает такой функции то он что не будет докачивать файл?
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999266
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
surbanecа как тогда работают большинство даунлоад менеджеров? например download master.
С помощью заголовка Range.

surbanecесли например сервер не поддерживает такой функции то он что не будет докачивать файл?
Он начнет качать его заново. Сообственно говоря, что еще ему остается делать? Думаю что большинство серверов поддерживает докачку. Я только говорю что надо быть готовым к ситуации когда он может и не поддерживать его.
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999282
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

ок. понял отстал. мне значит остается добавить в хиадерсы параметр range.
request.Headers.Add("Range: 100")
ошибка . пишет что этот параметр необходимо изменить с помощью соответствующего свойства; имя параметра : name

что это значит и как добавить этот параметр в хидер?
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999284
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
surbanec, используй метод AddRange()
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999295
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

попробуем
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999301
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
\r\n Dim url = "/topic/976497&pg=-1"\r\n        Dim request As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)\r\n        request.Method = "GET"\r\n        request.AddRange(500, 700)\r\n        request.UserAgent = "Mozila/5.O (Windows; U; Windows NT 5.1; ru; rv:1.9.0.15) Gecko/2OO912O2O8 Firefox/3.O.16"\r\n\r\n        Dim stream As Stream = request.GetResponse().GetResponseStream()\r\n        Dim reader As New StreamReader(stream, System.Text.Encoding.UTF7)\r\n        Dim b(100) As Char\r\n\r\n        Dim result As String = reader.ReadToEnd\r\n        \' Dim result As String = New String(b)\r\n        Me.TextBox1.Text = Replace(result, Chr(0), "")\r\n
\r\n
не получается. возвращает с 1 байта.
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999310
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
surbanec, попробуй для двоичного файла. Для html файла веб-сервер игнорирует range заголовки.
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999313
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробовал ссылку на мп3 файл http://78.159.122.138/listen.php?listen=282272
работает.а можно ли до загрузки какнить определить возможно ли загрузить с определенной позиции или нет?если можно то как?
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999336
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
surbanecа можно ли до загрузки какнить определить возможно ли загрузить с определенной позиции или нет?если можно то как?попробуй отправить HEAD-запрос, и посмотреть, есть ли в заголовках ответа Content-Range
...
Рейтинг: 0 / 0
VB.net HttpWebRequest загрузка файла с определенной позиции
    #37999346
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все спасибо за помощь. разобрался)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / VB.net HttpWebRequest загрузка файла с определенной позиции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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