『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: whxciotw

[经验分享] 【已解决】AirX插件失效

[复制链接]

9

主题

181

帖子

1297

积分

金牌会员

Rank: 6Rank: 6

积分
1297
金钱
1116
HASS币
0
发表于 2020-10-7 23:46:24 | 显示全部楼层
noahzh89 发表于 2020-10-7 22:21
import requests
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53 ...

谢谢谢谢,在您的指导下,已经搞定了。
UA改成这mozilla就能正常获取json了。
看来airx用的是黑名单不是白名单,估计是分析了访问日志,发现很多python request的默认UA,直接屏蔽了。
回复

使用道具 举报

9

主题

181

帖子

1297

积分

金牌会员

Rank: 6Rank: 6

积分
1297
金钱
1116
HASS币
0
发表于 2020-10-7 23:49:05 | 显示全部楼层
whxciotw 发表于 2020-10-7 15:39
老哥,专业了!
有具体改代码的方法吗?看到你说的,自己是搞不定了

我参照楼上兄弟的指点,修改了一下fan.py,试了试可行。

传附件了。

fan.rar

2.03 KB, 下载次数: 9

回复

使用道具 举报

35

主题

533

帖子

2895

积分

金牌会员

Rank: 6Rank: 6

积分
2895
金钱
2362
HASS币
0
发表于 2020-10-8 08:54:33 | 显示全部楼层
奇怪,你是0.114这个版本失效的?我印象里,我的AirX都失联半年,好多个HA的版本了……
回复

使用道具 举报

35

主题

533

帖子

2895

积分

金牌会员

Rank: 6Rank: 6

积分
2895
金钱
2362
HASS币
0
发表于 2020-10-8 08:56:39 | 显示全部楼层
看了一下论坛记录,我是在HA的0.102.1版本失效的,去年12月份……
回复

使用道具 举报

9

主题

181

帖子

1297

积分

金牌会员

Rank: 6Rank: 6

积分
1297
金钱
1116
HASS币
0
发表于 2020-10-8 09:08:36 | 显示全部楼层
debitus 发表于 2020-10-8 08:56
看了一下论坛记录,我是在HA的0.102.1版本失效的,去年12月份……

前面失效是因为版本升级,group被取消掉了吧。修改一下yaml就可以了。
这次看起来是因为airx服务器做了限制,跟版本没关系
回复

使用道具 举报

22

主题

656

帖子

4582

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4582
金钱
3911
HASS币
40
 楼主| 发表于 2020-10-8 11:13:30 | 显示全部楼层
befantasy 发表于 2020-10-7 23:49
我参照楼上兄弟的指点,修改了一下fan.py,试了试可行。

传附件了。

谢谢兄弟!果然可用了,泪奔!
回复

使用道具 举报

22

主题

656

帖子

4582

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4582
金钱
3911
HASS币
40
 楼主| 发表于 2020-10-8 11:13:54 | 显示全部楼层
noahzh89 发表于 2020-10-7 22:21
import requests
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53 ...

谢谢兄弟,可用了!
回复

使用道具 举报

2

主题

128

帖子

2428

积分

金牌会员

Rank: 6Rank: 6

积分
2428
金钱
2300
HASS币
0
发表于 2020-10-8 15:31:02 | 显示全部楼层
whxciotw 发表于 2020-10-8 11:13
谢谢兄弟,可用了!

你改成这个header,人家很容易封的,还是mock 一下,看看他用的完整ua,改一下最保险了.本身这个代码最大的问题就是刷新间隔太高了,人家api 按照次数收费的.
回复

使用道具 举报

9

主题

181

帖子

1297

积分

金牌会员

Rank: 6Rank: 6

积分
1297
金钱
1116
HASS币
0
发表于 2020-10-8 16:20:58 | 显示全部楼层
noahzh89 发表于 2020-10-8 15:31
你改成这个header,人家很容易封的,还是mock 一下,看看他用的完整ua,改一下最保险了.本身这个代码最大的问 ...

嗯,手头没有抓包工具,回头我抓一下看看。

另外,才发现现在没法设置风速什么的了。应该是最近的版本升级了详细页面的显示方式以后,和原来不兼容了。
回复

使用道具 举报

22

主题

656

帖子

4582

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4582
金钱
3911
HASS币
40
 楼主| 发表于 2020-10-8 18:56:46 | 显示全部楼层
noahzh89 发表于 2020-10-8 15:31
你改成这个header,人家很容易封的,还是mock 一下,看看他用的完整ua,改一下最保险了.本身这个代码最大的问 ...

按照以上两位兄弟给到的思路,我用手机抓了下包,POST信息如下
POST /airx/airx_iot_reportup/web/equipment/DeviceOnOrDown HTTP/1.1
If-Modified-Since: Thu, 08 Oct 2020 09:47:02 GMT
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; ALP-AL00 Build/HUAWEIALP-AL00)
Host: airxchina.com.cn
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 113

因此,在代码的headers里,改了下,如下:
headers = {'user-agent': 'Dalvik/2.1.0 (Linux; U; Android 10; ALP-AL00 Build/HUAWEIALP-AL00)'}


另外,关于调用API次数过多的问题,我是改为scan_interval: 300。应该还好了。

亲测以上,HA中可用。

不知以上是否属于mock?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 23:51 , Processed in 0.584071 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表