Помогите Залогиниться Через Com Объект.

unknown181538

НеГуру
28.12.2008
1 417
0
#1
Из 1с пытаюсь подключиться к сайту, чтобы стянуть страницу, и распарсить для получения кое-каких данных.
Поскольку почти ничего не понимаю в веб-программировании, код нагуглил, и с чьей-то помощью...
Сейчас вот такой вариант:

Код:
 Сайт = Новый COMОбъект("InternetExplorer.Application");
Сайт.Visible = Ложь;
Состояние("Подключение к " + "http://fx-trend.com/login");
Сайт.Navigate("http://fx-trend.com/login");

Сайт.Document.forms.Item(2).elements(0).Value = "Unknown181538";

Сайт.Document.forms.Item(2).elements(1).Value = "****";
Сайт.Document.forms.Item(2).elements(0).Name возвращает "login",
а value не хочет устанавливаться, и выдает ошибку. Как написать правильно?
 

unknown181538

НеГуру
28.12.2008
1 417
0
#3
"ну вот к примеру ]]>http://danila.org.ua/zagruzka-html-stranit...rmatirovannyiy/]]>"
Где-то прочитал, что HTTP соединение подходит только для сайтов с "простой" авторизацией. Ну и не получилось у меня экспериментально - пытался кое-какие варианты запускать. Вообще, в 1с можно выполнить произвольный java или vbs скрипт, знать бы еще какой. Так что тут даже к 1с не надо привязываться.

Добавлено: Текст ошибки : "Ошибка при получении атрибута контекста (Document)"
 

-master-

Well-Known Member
14.01.2012
616
20
#4
HTTP соединение для всех подходит.
Вы поясните чего в итоге надо сделать.
Ну и снифером воспользуйтесь. Он покажет как авторизироваться надо, а дальше дело техники.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#5
Снифер... сейчас буду разбираться с чем его едят.
В любом случае спасибо за помощь.
Задача в том, чтобы стянуть кое-какие данные с сайта. Но для этого надо предварительно авторизоваться. Стянуть можно в принципе, сохранив страницу в виде текста, а потом распарсив.
Если не справлюсь, запрошу помочь за деньги)

Добавлено: Посоветуйте, каким снифером лучше воспользоваться.
 

-master-

Well-Known Member
14.01.2012
616
20
#6
Да их море. Берите Fiddler, простой в юзании для http

А что за сайт то?
 

-master-

Well-Known Member
14.01.2012
616
20
#8
вот такой запрос при логине уходит

Request POST //login//my/profile/info/ HTTP/1.1
Accept text/html, application/xhtml+xml, */*
Referer
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться

Accept-Language en-US
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Content-Type application/x-www-form-urlencoded
Accept-Encoding gzip, deflate
Host fx-trend.com
Content-Length 25
Connection Keep-Alive
Cache-Control no-cache
Cookie PHPSESSID=60m7rjl9bedbuu8eg5403lbfb5; lang=ru; branch=1; __utma=219800142.1893725394.1353796129.1353796129.1353796129.1; __utmb=219800142.4.10.1353796129; __utmc=219800142; __utmz=219800142.1353796129.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)

login=jjjjjjjjjj&pass=jjjjjjjjjjjj
 

unknown181538

НеГуру
28.12.2008
1 417
0
#9
Все это надо отправить методом Get()?
<!--shcode--><pre><code class='1С'>ХТТП = Новый HTTPСоединение("http://fx-trend.com/");
ХТТП.Получить("Request POST //login//my/profile/info/ HTTP/1.1
|Accept text/html, application/xhtml+xml, */*
|Referer
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться

|Accept-Language en-US
|User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
|Content-Type application/x-www-form-urlencoded
|Accept-Encoding gzip, deflate
|Host fx-trend.com
|Content-Length 25
|Connection Keep-Alive
|Cache-Control no-cache
|Cookie PHPSESSID=60m7rjl9bedbuu8eg5403lbfb5; lang=ru; branch=1; __utma=219800142.1893725394.1353796129.1353796129.1353796129.1; __utmb=219800142.4.10.1353796129; __utmc=219800142; __utmz=219800142.1353796129.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
|
|login=Unknown181538&pass=****","C:\temp\12389.html");[/CODE]

в файл вернулось "ler] DNS Lookup for "http" failed. Запрошенное имя верно, но данные запрошенного типа не найдены"
 

-master-

Well-Known Member
14.01.2012
616
20
#12
Все это надо отправить методом Get()?
не гет а пост - Request POST

Куки надо смотреть, при получении ответа от логина, там находится информация, которую надо посылать всегда.
Иначе сайт будет считать что вы не логинились.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#13
"Куки надо смотреть, при получении ответа от логина, там находится информация, которую надо посылать всегда."
Это вот такая строка, которую в сниффере видно:
"Proxy-Authorization: NTLM TlRMTVNTUAABAAAAt7II4gkACQApAAAAAQABACgAAAAGAbEdAAAAD1RXT1JLR1JPVVA="?
 

-master-

Well-Known Member
14.01.2012
616
20
#14
Нет куки это куки см. Сообщение #8 Cookie, только это в запросе, а надо смотреть в ответе.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#16
-master-
ответ - это то, что мне метод post должен в файл вернуть? Но он мне пустой файл возвращает....
sholoma это да, может быть интересно, но тогда придется разбираться с этим кодом, и как его прикрутить. Нужен тогда какой-то COMобъект, для выполнения питонового скрипта...
 

-master-

Well-Known Member
14.01.2012
616
20
#17
http это протокол, работает он как: запрос - ответ,
и запрос и ответ имеет определенную структуру все это разжеванно в инете мильен раз и еще один.
ваша задача повторить то как общается браузер, только еще сжатее,т.е. выбросив все не нужное, например цсс стили, картинки скрипты и т.п. потому как они вам не нужны.

что касается пустой странице - то кто его знает как оно там, у меня аккаунта нет, я не могу посмотреть чего там к чему
снифер у вас есть, смотрите какая информация идет.
на самомделе это все просто как дваждыдва

Добавлено: посмотрел как сделал sholoma...
прямо скажем, плохо, да еще за это 500 баксов просит. вот это даже и не знаю как назвать.. :huh:
 

unknown181538

НеГуру
28.12.2008
1 417
0
#18
"прямо скажем, плохо, да еще за это 500 баксов просит. вот это даже и не знаю как назвать.. " 500 он вроде не за это просит)
"снифер у вас есть, смотрите какая информация идет." - никак не могу разобраться.
"что касается пустой странице - то кто его знает как оно там, у меня аккаунта нет, я не могу посмотреть чего там к чему
снифер у вас есть, смотрите какая информация идет."
акк-то могу дать - не проблема.
Никак не могу понять, в каком окне сниффера это смотреть, вроде все пролазил, а запроса, который вы выложили не смог найти.

Добавлено: Вот интересно - какое-то время назад кнопка "цитата" не работала в хроме, а теперь и в опере, это только у меня?
 

-master-

Well-Known Member
14.01.2012
616
20
#19
Ну вы какой снифер взяли? фидлер? у него слева запросы, двойной клик на запросу, справа вверху инфа по запросу. внизу по ответу

давайте аккаунт