我想在OSX(10.11)上使用Python连接到Wi-Fi网络。基于CWInterface reference我发现有一个iface.associateToNetwork_password_error_()
方法可用,但是当调用它时,它不会连接到网络,也不会导致任何异常。
同时iface.disassociate()
工作正常,断开WiFi。
这是我试过的代码:
import objc
objc.loadBundle('CoreWLAN',
bundle_path='/System/Library/Frameworks/CoreWLAN.framework',
module_globals=globals())
iface = CWInterface.interface()
iface.associateToNetwork_password_error_(SSID, PASSWORD, None)
如何从OS X上的Python连接到指定的网络并确保已建立连接?
最佳答案
我成功地连接到我的家庭网络:
import objc
objc.loadBundle('CoreWLAN',
bundle_path = '/System/Library/Frameworks/CoreWLAN.framework',
module_globals = globals())
iface = CWInterface.interface()
networks, error = iface.scanForNetworksWithName_error_('<Name Of Network>', None)
network = networks.anyObject()
success, error = iface.associateToNetwork_password_error_(network, '<Password Of Network>', None)
我怀疑你遗漏了两件重要的事情:
您没有将
CWNetwork
作为第一个参数传入。您没有检查返回值(即,在最终调用中,
success
和error
)。他们也许可以帮你追踪其他问题。