@@ -264,17 +264,29 @@ async def _request_json(
264264
265265 # Potential XM fix - not sure, might have been login issue
266266 if self .api_version == 6 and url .startswith (self ._status_cgi_url ):
267- # Modified from login.cgi to index.cgi
268- request_headers ["Referrer" ] = f"{ self .base_url } /index.cgi"
267+ # Ensure all HAR-matching headers are present
269268 request_headers ["Accept" ] = "application/json, text/javascript, */*; q=0.01"
270- request_headers ["X-Requested-With" ] = "XMLHttpRequest"
271- # Added AJAX / UA
272- request_headers ["User-Agent" ] = (
273- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
269+ request_headers ["Accept-Encoding" ] = "gzip, deflate, br, zstd"
270+ request_headers ["Accept-Language" ] = "pl"
271+ request_headers ["Cache-Control" ] = "no-cache"
272+ request_headers ["Connection" ] = "keep-alive"
273+ request_headers ["Host" ] = (
274+ urlparse (self .base_url ).hostname or "192.168.1.142"
274275 )
276+ request_headers ["Pragma" ] = "no-cache"
277+ request_headers ["Referer" ] = f"{ self .base_url } /index.cgi"
275278 request_headers ["Sec-Fetch-Dest" ] = "empty"
276279 request_headers ["Sec-Fetch-Mode" ] = "cors"
277280 request_headers ["Sec-Fetch-Site" ] = "same-origin"
281+ request_headers ["User-Agent" ] = (
282+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
283+ )
284+ request_headers ["X-Requested-With" ] = "XMLHttpRequest"
285+ request_headers ["sec-ch-ua" ] = (
286+ '"Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"'
287+ )
288+ request_headers ["sec-ch-ua-mobile" ] = "?0"
289+ request_headers ["sec-ch-ua-platform" ] = '"Windows"'
278290 if url .startswith (self ._login_urls ["v6_login" ]):
279291 request_headers ["Referrer" ] = f"{ self .base_url } /login.cgi"
280292 request_headers ["Origin" ] = self .base_url
@@ -387,10 +399,18 @@ async def login(self) -> None:
387399 return
388400
389401 # Start of v6, go for cookies
390- _LOGGER .error ("TESTv%s - Trying to get / first for cookies" , self .api_version )
402+ _LOGGER .error (
403+ "TESTv%s - Trying to get /index.cgi first for cookies" , self .api_version
404+ )
391405 with contextlib .suppress (Exception ):
392406 cookieresponse = await self ._request_json (
393- "GET" , f"{ self .base_url } /" , authenticated = True
407+ "GET" ,
408+ f"{ self .base_url } /index.cgi" ,
409+ authenticated = True ,
410+ headers = {
411+ "Referer" : f"{ self .base_url } /login.cgi" ,
412+ "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" ,
413+ },
394414 )
395415 _LOGGER .error (
396416 "TESTv%s - Cookie response: %s" , self .api_version , cookieresponse
0 commit comments