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

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем unknown181538, 24 ноя 2012.

  1. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Из 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 не хочет устанавливаться, и выдает ошибку. Как написать правильно?
     
  2. -master-

    -master- Well-Known Member

    Репутация:
    0
    Регистрация:
    14 янв 2012
    Сообщения:
    617
    Симпатии:
    20
  3. unknown181538

    unknown181538 НеГуру

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

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

    -master- Well-Known Member

    Репутация:
    0
    Регистрация:
    14 янв 2012
    Сообщения:
    617
    Симпатии:
    20
    HTTP соединение для всех подходит.
    Вы поясните чего в итоге надо сделать.
    Ну и снифером воспользуйтесь. Он покажет как авторизироваться надо, а дальше дело техники.
     
  5. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Снифер... сейчас буду разбираться с чем его едят.
    В любом случае спасибо за помощь.
    Задача в том, чтобы стянуть кое-какие данные с сайта. Но для этого надо предварительно авторизоваться. Стянуть можно в принципе, сохранив страницу в виде текста, а потом распарсив.
    Если не справлюсь, запрошу помочь за деньги)

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

    -master- Well-Known Member

    Репутация:
    0
    Регистрация:
    14 янв 2012
    Сообщения:
    617
    Симпатии:
    20
    Да их море. Берите Fiddler, простой в юзании для http

    А что за сайт то?
     
  7. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
  8. -master-

    -master- Well-Known Member

    Репутация:
    0
    Регистрация:
    14 янв 2012
    Сообщения:
    617
    Симпатии:
    20
    вот такой запрос при логине уходит

    Request POST //login//my/profile/info/ HTTP/1.1
    Accept text/html, application/xhtml+xml, */*
    Referer https://fx-trend.com//login//myaccount
    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
     
  9. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Все это надо отправить методом 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 https://fx-trend.com//login//myaccount
    |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. Запрошенное имя верно, но данные запрошенного типа не найдены"
     
  10. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    ХТТП = Новый HTTPСоединение("fx-trend.com");
    О! Теперь возвращается что-то
     
  11. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Страницу вернул, но такую, как будто я не логинился...
     
  12. -master-

    -master- Well-Known Member

    Репутация:
    0
    Регистрация:
    14 янв 2012
    Сообщения:
    617
    Симпатии:
    20
    не гет а пост - Request POST

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

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    "Куки надо смотреть, при получении ответа от логина, там находится информация, которую надо посылать всегда."
    Это вот такая строка, которую в сниффере видно:
    "Proxy-Authorization: NTLM TlRMTVNTUAABAAAAt7II4gkACQApAAAAAQABACgAAAAGAbEdAAAAD1RXT1JLR1JPVVA="?
     
  14. -master-

    -master- Well-Known Member

    Репутация:
    0
    Регистрация:
    14 янв 2012
    Сообщения:
    617
    Симпатии:
    20
    Нет куки это куки см. Сообщение #8 Cookie, только это в запросе, а надо смотреть в ответе.
     
  15. sholoma

    sholoma Гость

    Репутация:
    0
    Подключайся через python
    Вот я делал недавно совсем
     
  16. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    -master-
    ответ - это то, что мне метод post должен в файл вернуть? Но он мне пустой файл возвращает....
    sholoma это да, может быть интересно, но тогда придется разбираться с этим кодом, и как его прикрутить. Нужен тогда какой-то COMобъект, для выполнения питонового скрипта...
     
  17. -master-

    -master- Well-Known Member

    Репутация:
    0
    Регистрация:
    14 янв 2012
    Сообщения:
    617
    Симпатии:
    20
    http это протокол, работает он как: запрос - ответ,
    и запрос и ответ имеет определенную структуру все это разжеванно в инете мильен раз и еще один.
    ваша задача повторить то как общается браузер, только еще сжатее,т.е. выбросив все не нужное, например цсс стили, картинки скрипты и т.п. потому как они вам не нужны.

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

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

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    "прямо скажем, плохо, да еще за это 500 баксов просит. вот это даже и не знаю как назвать.. " 500 он вроде не за это просит)
    "снифер у вас есть, смотрите какая информация идет." - никак не могу разобраться.
    "что касается пустой странице - то кто его знает как оно там, у меня аккаунта нет, я не могу посмотреть чего там к чему
    снифер у вас есть, смотрите какая информация идет."
    акк-то могу дать - не проблема.
    Никак не могу понять, в каком окне сниффера это смотреть, вроде все пролазил, а запроса, который вы выложили не смог найти.

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

    -master- Well-Known Member

    Репутация:
    0
    Регистрация:
    14 янв 2012
    Сообщения:
    617
    Симпатии:
    20
    Ну вы какой снифер взяли? фидлер? у него слева запросы, двойной клик на запросу, справа вверху инфа по запросу. внизу по ответу

    давайте аккаунт
     
  20. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    В личку скинул) Сейчас отложил это задачу, т.к. других проблем много)
     
Загрузка...

Поделиться этой страницей