jeffreydwalter / arlo

Python module for interacting with Netgear's Arlo camera system.
Apache License 2.0
516 stars 124 forks source link

403 Client Error: Forbidden for url: https://my.arlo.com/hmsweb/login/v2 #154

Closed tobiasbischoff closed 4 years ago

tobiasbischoff commented 4 years ago

Please answer these questions before submitting your issue. Thanks!

What version of Python are you using (python -V)?

Python 3.7.3

What operating system and processor architecture are you using (python -c 'import platform; print(platform.uname());')?

uname_result(system='Linux', node='unificontroller', release='4.19.75-v7l+', version='#1270 SMP Tue Sep 24 18:51:41 BST 2019', machine='armv7l', processor='')

Which Python packages do you have installed (run the pip freeze or pip3 freeze command and paste output)?

appdirs==1.4.3
arlo==1.2.33
asn1crypto==0.24.0
certifi==2018.8.24
chardet==3.0.4
colorama==0.4.3
cryptography==2.6.1
entrypoints==0.3
future==0.18.2
idna==2.6
keyring==17.1.1
keyrings.alt==3.1.1
monotonic==1.5
pycrypto==2.6.1
PyGObject==3.30.4
PySocks==1.7.1
python-apt==1.8.4.1
python-telegram-bot==12.3.0
pyxdg==0.25
requests==2.21.0
SecretStorage==2.3.1
six==1.12.0
sseclient==0.0.22
ssh-import-id==5.7
telegram-send==0.24
tornado==6.0.3
urllib3==1.24.1

Which version of ffmpeg are you using (ffmpeg -version)?

None

Which Arlo hardware do you have (camera types - [Arlo, Pro, Q, etc.], basestation model, etc.)?

base Model first gen

What did you do?

nothing ;)

I use this script do download a picture from a specific cam

from arlo import Arlo

USERNAME = '' PASSWORD = ''

try:

Instantiating the Arlo object automatically calls Login(), hich returns an oAuth token that gets cached.

# Subsequent successful calls to login will update the oAuth token.
arlo = Arlo(USERNAME, PASSWORD)
# At this point you're logged into Arlo.

# Get the list of devices and filter on device type to only get the basestation.
# This will return an array which includes all of the basestation's associated metadata.
basestations = arlo.GetDevices('basestation')

    # Get the list of devices and filter on device type to only get the camera.
    # This will return an array which includes all of the camera's associated metadata.
cameras = arlo.GetDevices('camera')
    # Tells the Arlo basestation to trigger a snapshot on the given camera.
    # This snapshot is not instantaneous, so this method waits for the response and returns the url
    # for the snapshot, which is stored on the Amazon AWS servers.
snapshot_url = arlo.TriggerFullFrameSnapshot(basestations[0], cameras[3])
    # This method requests the snapshot for the given url and writes the image data to the location specified.
    # In this case, to the current directory as a file named "snapshot.jpg"
    # Note: Snapshots are in .jpg format.
arlo.DownloadSnapshot(snapshot_url, '/home/pi/arlo/snapshot.jpg')

except Exception as e: print(e)


### What did you expect to see?

Donwloaded JPG


### What did you see instead?

403 Client Error: Forbidden for url: https://my.arlo.com/hmsweb/login/v2



### Does this issue reproduce with the latest release?

yes, sadly. I also updates opedssl, nailed sseclient to 0.0.22 as advised..
jeffreydwalter commented 4 years ago

upgrade to the latest version.