使用Python请求从我的路由器中刮取WAN IP

使用Python请求从我的路由器中刮取WAN IP,python,web-scraping,Python,Web Scraping,我正在尝试使用“请求”包从我的路由器ASUS RT-AC68U获取WAN IP地址 下面是我到目前为止获取用户名和密码的在线示例 import requests session = requests.session() payload = {'login_username': 'xxxxxxxx', 'login_passwd' : 'yyyyyyyy'} data = session.post(url='http://192.168.11.1/Main_Login.as

我正在尝试使用“请求”包从我的路由器ASUS RT-AC68U获取WAN IP地址

下面是我到目前为止获取用户名和密码的在线示例

import requests
session = requests.session()
payload = {'login_username': 'xxxxxxxx',
           'login_passwd'  : 'yyyyyyyy'}
data = session.post(url='http://192.168.11.1/Main_Login.asp', data=payload)
print(data, data.text)
我确实收到了一大堆垃圾邮件,似乎告诉我登录失败了。至少我没有找到WAN IP地址的模式,因为我可以从GUI登录中看到它

缺少的似乎是我需要“点击”登录按钮。但我不知道该怎么做

我想强调的是,这是我自己的路由器,我想这样做没有恶意的目的。我想写我自己的ddns客户端

非常感谢您的帮助

编辑以响应t.m.adam

js代码看起来像这样我不是js专家:

function login(){
var trim = function(val){
val = val+'';
for (var startIndex=0;startIndex<val.length && val.substring(startIndex,startIndex+1) == ' ';startIndex++);
for (var endIndex=val.length-1; endIndex>startIndex && val.substring(endIndex,endIndex+1) == ' ';endIndex--);
return val.substring(startIndex,endIndex+1);
}
谢谢, 格特

编辑:放弃

我找到了一种通过telnet修复对路由器的访问的方法,并且有一种更容易检索IP的方法。不确定这是否符合“已回答”

谢谢,
Gert

我不知道华硕路由器的具体案例。但一般来说,不要将这些凭据传递到Main_Login.asp,而是尝试将其传递到所需页面的url。如果不起作用,则尝试查找请求头或cookie中是否存在凭据。有时很难找到它,因为它是加密的。这完全取决于开发web应用程序时使用的身份验证方法。登录按钮调用js函数login来发布登录数据。你检查过js代码了吗?登录没有右括号,它只包含一个trim函数。