1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Нужна помощь с webglazok.com

Тема в разделе "WASM.NETWORKS", создана пользователем Stariy, 29 июл 2020.

  1. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    528
    Адрес:
    Russia
    Пытаюсь сделать скрипт для ежедневного автоматизированного скачивания видео и таймлапса с данного сервиса.
    Сайт https://webglazok.com/my
    логин demo@webglazok.com
    пароль demo
    Скрипт делаю на питоне, он вроде бы логинится, выводит список камер, привязанных к аккаунту, выводит их параметры, но при попытке скачивания таймлапса скачивает коротенькое видео с надписью "Необходима авторизация". Посоветуйте, что я делаю не так?
    ВОт скрипт:

    import requests
    import json

    r = requests.post('https://webglazok.com/api/login', data = {'login':'demo@webglazok.com','password':'demo' })
    data =r.json()
    print(data)
    sessionid=data["wgsession"]
    tokenid=data["wgtoken"]

    print("wgsession: "+sessionid)
    print("wgtoken: "+tokenid)

    r = requests.get('https://webglazok.com/api/device',headers={'wgtoken': tokenid})
    devices = r.json()

    for device in devices:
    device_id = device["id"]
    print(device["name"]+" "+str(device_id)+" "+device["host"])
    r = requests.get('https://'+device["host"]+'/api/timelapse', data = { 'dev_id':device_id, 'session':sessionid, 'timestamp_from':'1595869080', 'timestamp_to':'1595955547', 'hour_from':'9', 'hour_to':'18', 'interval':'0', 'download_id':'vwf65ahhzv0i3uxv', 'save':'1'},headers={'wgtoken': tokenid})

    with open('gggggggg.mp4', 'wb') as fd:
    for chunk in r.iter_content(chunk_size=12[​IMG]:
    fd.write(chunk)
     
  2. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    614
    Тыкну пальцем в небо , куки не забыл ? узер агента подменил ?
     
  3. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    3.123
    Напиши им в саппорт, тут надо ихнее апи знать, а тут вряд ли кто-то такой найдется.
     
  4. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.236
    Я бы посоветовал копнуть в сторону ole-автоматизации браузеров (в хроме и файрфоксе она точно есть) и делать подобные штуки через нее.
     
  5. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    3.123
    Нук-нук? Я думал, что только осел поддерживает автоматизацию через COM.
    --- Сообщение объединено, 29 июл 2020 ---
    Зачем, если у сайта есть апи?
     
  6. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.236
    Сегодня этот сайт, завтра другой - апи могут быть разными, а через браузер универсальный подход.
     
  7. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    528
    Адрес:
    Russia
    Два раза ткнул и оба раза попал:-) ничего этого не сделал, вечером исправлюсь.
    --- Сообщение объединено, 29 июл 2020 ---
    Selenium?
     
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    3.123
    Сегодня кука может иметь одно название, завтра другое. Сегодня интерфейс сайта может иметь один вид, завтра другой. Это абсолютно одно и тоже.
     
  9. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    528
    Адрес:
    Russia
    и куки сделал и юзерагента тоже. Ни фига. Кстати, судя по трафику с fiddlera, куки не используются, если я правильно понял.
    Сейчас скрипт такой:
    Код (Text):
    1. import requests
    2. import json
    3.  
    4. r = requests.post('https://webglazok.com/api/login', data={'login': 'demo@webglazok.com', 'password': 'demo'})
    5. data = r.json()
    6. print(data)
    7. sessionid = data["wgsession"]
    8. tokenid = data["wgtoken"]
    9. cook = r.cookies
    10. print("wgsession: " + sessionid)
    11. print("wgtoken: " + tokenid)
    12.  
    13. r = requests.get('https://webglazok.com/api/device', headers={'wgtoken': tokenid, 'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2224.3 Safari/537.36'}, cookies = cook)
    14. devices = r.json()
    15.  
    16. for device in devices:
    17. # print(device)
    18. device_id = device["id"]
    19. print(device["name"] + " " + str(device_id) + " " + device["host"])
    20.  
    21. r = requests.get('https://' + device["host"] + '/api/timelapse',
    22. data={'dev_id': device_id, 'session': sessionid, 'timestamp_from': '1595869080',
    23. 'timestamp_to': '1595955547', 'hour_from': '9', 'hour_to': '18', 'interval': '0',
    24. 'download_id': 'vwf65ahhzv0i3uxv', 'save': '1'}, headers={'wgtoken': tokenid, 'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2224.3 Safari/537.36'}, cookies = cook)
    25.  
    26. with open(device["name"]+'.mp4', 'wb') as fd:
    27. for chunk in r.iter_content(chunk_size=128):
    28. fd.write(chunk)
     
  10. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    580
    может есть смысл wireshark поставить и посмотреть что реально передается? можно плагин seleniuma в браузер кинуть и записать обращение, посмотреть, как оно отработает или нет спустя скажем 10-15 минут. Таймстэмп в нужном формате уходит?
     
  11. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.236
    https
     
  12. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    580
    f13nd, так там разве агент какой ставиться? стандартная браузерная фигня, ваершарк при скармливании сертификата все прекрасно видит. Ваершарк давно всё умеет. Preference → Protocol → SSL или TLS
    ссылок по этому добру от хабра до ютуба
     
  13. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    528
    Адрес:
    Russia
    спасибо, буду пробовать.