我正在尝试通过Python的HTTP Post方法在我的办公室配置一个接入点(AP)。
我能够通过Python HTTP身份验证代码登录到AP,但是当我点击AP的无线页面来提供AP SSID,Channel和Passphrase等输入时,我就会陷入困境。无线页面的末尾有一个应用按钮。
当我尝试使用下面提到的代码时,我没有看到任何变化在AP端反映出来。可能是我的代码错了或者我没有按照正确的程序在AP中发布数据。我该如何解决这个问题?
import urllib2
import requests
def login():
link = "http://192.168.1.11/start_apply2.htm"
username = 'admin'
password = 'admin'
p = urllib2.HTTPPasswordMgrWithDefaultRealm()
p.add_password(None, link, username, password)
handler = urllib2.HTTPBasicAuthHandler(p)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
age = urllib2.urlopen(link).read()
payload = {'wl_ssid_org': 'nick','wl_wpa_psk_org':12345678}
r = requests.get(link)
r = requests.get(link, params=payload)
r = requests.post(link, params=payload)
login()
注意:当我运行此代码时,它会抛出错误:401未经授权。当我能够使用相同的身份验证代码登录AP但为什么我无法在此处清除身份验证时,我没有得到它。
答案 0 :(得分:0)
在您的情况下,您应该更改
r = requests.post(link, params=payload)
到
r = requests.post(link, data=payload)
然后您可以成功执行POST请求。
您应该参考requests document查找更多教程。
甚至,您可以使用urllib2
代码使用requests
替换代码。