Скачать Страницу С Сайта.

unknown181538

НеГуру
28.12.2008
1 417
0
#1
Надеюсь, никто из модераторов не будет против, что я создал ветку в двух разделах. Но тема смежная, а сразу два раздела, я думаю, не читает вообще никто.
Итак вот тема:
http://codeby.net/forum/threads/49276.html
Мучаюсь уже не первый день.
Задача в том, чтобы авторизоваться на сайте из 1с, и скачать оттуда страницу, для дальнейшего парсинга.
Вот еще обсуждение на Мисте:
http://www.forum.mista.ru/topic.php?id=640861
 

Дайнеко

Well-known member
19.11.2009
951
0
#2
Все перечитал. Пишут люди интересно так, непонятно и со странными словами.
Могу только пофилософствовать:
* Вряд-ли работа COM чем-то лучше родных 1С средств работы с http. Если не наоборот.
* Мне представляется, что в приведенных примерах вроде "Document.Forms(2).elements("login")" есть специфика конкретного сайта. Для другого это уже может быть не 2 а 1 или 3. Вплоть до того, что элемент может называться и не "login". Может я и говорю банальность давно Вам понятную.
* Просто не верится, что нигде не нашли "человеческого" описания и примера подключения к сайту.
* Насчет Кукисов. Фразы вроде "берешь из ответа "Cookie" и делай что хочешь" ни черта не понимаю. Как "берешь"? А что "хочешь"?

А было не дурно, если бы эти вебщики нормальным я зыком объяснили суть общения с сервером.
Ведь всего-то делов: надо знать какую строку отправить и каково содержание получаемой.
 

-master-

Well-known member
14.01.2012
616
12
#3
А было не дурно, если бы эти вебщики нормальным я зыком объяснили суть общения с сервером.
А еще лучше. чтобы за вас сделали? только вот все это - и лекции и работа за вас денег стоит. пояснить где бесплатный сыр или сами поймете?
направление дано, учите, вопросы появятся задавайте. тем более что там чтобы разобраться - пол часа хватит.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#4
"* Вряд-ли работа COM чем-то лучше родных 1С средств работы с http. Если не наоборот."
думаю, что хуже, но как вариант пойдет.
"* Мне представляется, что в приведенных примерах вроде "Document.Forms(2).elements("login")" есть специфика конкретного сайта. Для другого это уже может быть не 2 а 1 или 3. Вплоть до того, что элемент может называться и не "login". Может я и говорю банальность давно Вам понятную." там один из вариантов был, который этот элемент "видел", но value не присваивался почему-то. Возможно, особенность сайта или технологии.
"* Просто не верится, что нигде не нашли "человеческого" описания и примера подключения к сайту." кое-какие примеры есть. Но тут, видно, не так просто, и не для каждого сайта все они работают. Конечно, я-то думал, что задача тривиальная, и получится просто скопипастить пример.
"А было не дурно, если бы эти вебщики нормальным я зыком объяснили суть общения с сервером." Да вроде бы они отвечают, только у меня все не получается...

Я бы даже заплатил умеренную сумму за готовый вариант, но тут есть особенности 1сных объектов, которые не знаю вебщики. А 1с-ники дают какие-то варианты, которые ни фига не работают.
 

-master-

Well-known member
14.01.2012
616
12
#5
тут дело не в сом, а в том что вы пытаетесь юзать браузер, а он тут как корове седло.
 

Darlock

Well-known member
04.01.2008
560
1
#6
Комрады, в свое время как-то тоже стояла задача авторизации на сайте из 1с. Я выкрутился следующим образом:
1) Авторизуюсь на сайте
2) Копирую содержимоей адресной строки в макет ("Текстовый документ"); (т.к. скорее всего в адресной строке уже есть и логин и пароль).
3) Подменяю свой логин/пароль на уникальные строки которые просто потом затираю "стрЗаменить".

Для примера, как оно выглядит:

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">подмена с авторизацией</div></div><div class="sp-body"><div class="sp-content">
Код:
ДвоичныйФайл = ПолучитьМакет("Подмена");

ТекстовыйДокумент = Новый ТекстовыйДокумент();
ТекстовыйДокумент.УстановитьТекст(ДвоичныйФайл.ПолучитьТекст());

ТекстПодмены = ТекстовыйДокумент.ПолучитьТекст();

ТекстПодмены = стрЗаменить(ТекстПодмены, "#LOGIN", Логин);
ТекстПодмены = стрЗаменить(ТекстПодмены, "#Pass", Пароль);

ТекстовыйДокумент.УстановитьТекст(ТекстПодмены);	

ИмяПортала = ПолучитьИмяВременногоФайла("html");

ТекстовыйДокумент.Записать(ИмяПортала);
4) Обращаюсь: "ЭлементыФормы.ПолеHTMLДокумента1.Перейти(ИмяПортала);"
А в имени портала живет первый текст.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#7
Darlock , мне кажется, не подойдет. На разных сайтах разные авторизации. Там, скорее всего, уж совсем простая.