2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-03 16:56:54 +00:00

49_Arlo.pm: fixed login problems

git-svn-id: https://svn.fhem.de/fhem/trunk@25749 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
maluk 2022-02-27 11:09:38 +00:00
parent acfb60dcb8
commit d756abdc2e
2 changed files with 19 additions and 6 deletions

View File

@ -423,7 +423,7 @@ sub Arlo_PrepareRequest($$;$$$$) {
$headers = $headers."Authorization: $token\r\n" if (defined($token));
$headers = $headers."Cookie: $cookies\r\n" if (defined($cookies));
$headers = $headers."Content-Type: application/json; charset=utf-8\r\nOrigin: https://myapi.arlo.com\r\nReferer: https://myapi.arlo.com\r\nschemaVersion: 1\r\n";
$headers = $headers."User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36";
$headers = $headers."User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B202 NETGEAR/v1 (iOS Vuezone)";
$headers = $headers."\r\n".$additionalHeader if (defined($additionalHeader));
Log3 $name, 5, "Arlo header: $headers";
@ -1230,7 +1230,7 @@ sub Arlo_EventQueue($) {
my $headers = {'Auth-Version' => 2, Authorization => $token, Accept => 'text/event-stream', 'Access-Control-Request-Headers' => 'auth-version,authorization',
'Access-Control-Request-Method' => 'GET', Cookie => $cookies, Origin => 'https://my.arlo.com', Referer => 'https://myapi.arlo.com',
'User-Agent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36' };
'User-Agent' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B202 NETGEAR/v1 (iOS Vuezone)' };
my $con = {url => 'https://myapi.arlo.com/hmsweb/client/subscribe', method => "GET", header => $headers, keepalive => 1, host => 'myapi.arlo.com', httpversion => '1.1', loglevel => 4};
my $err = HttpUtils_Connect($con);
if ($err) {

View File

@ -16,13 +16,26 @@ class Arlo:
'mobile': False
}
self._session = cloudscraper.create_scraper(browser=browser)
self._headers = {
"Accept": "application/json, text/plain, */*",
self._baseUrl = "https://ocapi-app.arlo.com/api/"
self._headers = {
'Access-Control-Request-Headers': 'content-type,source,x-user-device-id,x-user-device-name,x-user-device-type',
'Access-Control-Request-Method': 'POST',
"Referer": "https://my.arlo.com",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36",
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B202 NETGEAR/v1 (iOS Vuezone)',
}
self._session.options(self._baseUrl + "auth", headers=self._headers)
self._headers = {
"DNT": "1",
"schemaVersion": "1",
"Auth-Version": "2",
"Content-Type": "application/json; charset=UTF-8",
"Origin": "https://my.arlo.com",
"Referer": "https://my.arlo.com/",
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B202 NETGEAR/v1 (iOS Vuezone)',
"Source": "arloCamWeb"
}
self._baseUrl = "https://ocapi-app.arlo.com/api/"
self._token = None
def login(self, username, password):