Имя: Пароль:
1C
1C 7.7
V7Plus не полностью выкачивает страничку
0 oslokot
 
21.11.12
15:12
Есть обработка, которая сливает странички сайтов в файл для дальнейшего разбора (парсинга).
Все работало долгое время, а сегодня отказалось. Вот фрагмент кода:

       Соединение = СоздатьОбъект("Addin.V7HttpReader") ;
       Соединение.КоличествоПопытокАвторизации = 3;
       УРЛ = "http://www.forum.mista.ru/index.php";
       ИмяФайла = КаталогИБ()+"ExtForms\PARSER\price.txt";
       Соединение.ПолучитьКакФайл(Урл,ИмяФайла);

В файле price.txt только обрывок начала странички.
Есть какие мысли?
1 oslokot
 
21.11.12
15:12
адрес УРЛ это пример
2 oslokot
 
21.11.12
16:03
и?
3 vova1122
 
21.11.12
17:04
Когдато мне тоже было нужно выкачивать большие страницы в 1С. Долго искал и наткнулся в сети на хорошую разработку, где Человек проверял разные варианты загрузки больших Интернет страниц. если найду её у себя то могу выслать .
4 vova1122
 
21.11.12
17:11
5 vova1122
 
21.11.12
18:11
Я у себя присобачил 13 вариант(для загрузки в 1С большой страницы), Только с небольшой доработкой. Так как нужно все-время загружать одну и ту страницу, то перед загрузкой программно очищаю кэш Internet Explorer.
6 oslokot
 
21.11.12
20:57
(4) Спасибо! посмотрю.
Просто интересно, ни с того ни с сего, V7Plus перестала качать данные?
7 oslokot
 
21.11.12
21:03
Хотя я уже год сервак не перезагружал (w2003). Может скривилось что...
8 vova1122
 
22.11.12
10:55
(6) Сейчас загружается только 1 Кб из сайта?
9 oslokot
 
22.11.12
10:56
(8) да! иногда 2
10 Невский
 
22.11.12
11:11
Была подобная фигня, но при отправке get запроса. После того как был добавлен заголовок Content-Length, проблема решилась.
11 vova1122
 
22.11.12
11:13
(9) Это глюк V7Plus. Он загружает только первый Килобайт из сайта, если на сайте не указано размер страницы (см. Комментарии к к той публикации...)
12 oslokot
 
22.11.12
11:14
(10) УстановитьЗаголовокЗапроса()?
13 oslokot
 
22.11.12
11:15
(11) странно, просто не грузит ни с одного сайта, как раньше.
Список сайтов у меня большой
14 Невский
 
22.11.12
11:17
15 oslokot
 
22.11.12
11:37
Различные вариации с заголовками        Соединение.УстановитьЗаголовокЗапроса("Content-Type", "text/html");
       Соединение.УстановитьЗаголовокЗапроса("Accept", "*.*");

не помогло..
16 oslokot
 
22.11.12
11:43
Соединение.УстановитьЗаголовокЗапроса("Content-Length", "1000000000000");
тоже не помогает )
17 Невский
 
22.11.12
11:46
Content-Length на стороне сервера должен быть добавлен
18 oslokot
 
22.11.12
11:49
(17) а это (16) не то?
19 vova1122
 
22.11.12
11:51
(16) Переделайте под 13-й вариант. И бедет загружатся как надо...
20 Невский
 
22.11.12
11:56
(18) не то.
В моей ситуации все методы из 4 не работали (ответ был не полным) пока на стороне сервера не добавили заголовок Content-Length.
Как только добавили заголовок все стало гуд, дальше в проблематику я не вдавался, заработало и зашибись.
21 Невский
 
22.11.12
12:00
+(20) но я get запрос отправлял
22 oslokot
 
22.11.12
12:16
(19) ок. сделаю, спасибо.
(20) видимо не мой случай...

п.с.
Просто непонятно что стряслось то с V7+ на ровной дороге?
Работало и не трогал! )
23 vova1122
 
22.11.12
13:23
(22) Цитата:

AddIn.V7HttpReader прекрасно работает с любыми страницами и качает всю как надо. Проблема в самих страницах, которые не отдают заголовок "Content-length". Поэтому по умолчанию используется 1Кб.
24 oslokot
 
22.11.12
14:08
(23) да, точно. Все проверил.
На большинстве сайтов из моего списка в заголовке ответа отсутствует параметр "Content-length"
А где он есть - данные выкачиваются нормально.
Видимо что-то меняли на серверах, скорей всего версию php.
AdBlock убивает бесплатный контент. 1Сергей