我正在尝试使用simplewifi连接wifi。目前,我已经尝试了:
Wifi wifi = new Wifi();
// get list of access points
IEnumerable<AccessPoint> accessPoints = wifi.GetAccessPoints();
// for each access point from the list
foreach (AccessPoint ap in accessPoints)
{
Console.WriteLine("ap: {0}\r\n", ap.Name);
//check if SSID is desired
if (ap.Name.StartsWith("z"))
{
//verify connection to desired SSID
Console.WriteLine("connected: {0}, password needed: {1}, has profile: {2}\r\n", ap.Name, ap.IsConnected, ap.HasProfile);
if (!ap.IsConnected)
{
//connect if not connected
Console.WriteLine("\r\n{0}\r\n", ap.ToString());
Console.WriteLine("Trying to connect..\r\n");
AuthRequest authRequest = new AuthRequest(ap);
authRequest.Password = "123456789";
var x=ap.Connect(authRequest);
}
}
}

在这里,如果我硬编码了密码,我就不能传递密码
var password="abc123"如何传递密码并进行连接?
此外,connect方法总是返回false,即使我必须在没有密码的情况下连接到wifi。
发布于 2017-07-10 19:03:43
您需要设置authRequest.Password = "yourpassword";
在你的ap.connect(authRequest);之前
从https://github.com/DigiExam/simplewifi添加以下console.write()
放在文件的顶部
using SimpleWifi;然后在你的函数中
// Wifi object
Wifi wifi = new Wifi();
// get list of access points
IEnumerable<AccessPoint> accessPoints = wifi.GetAccessPoints();
// for each access point from list
foreach (AccessPoint ap in accessPoints){
Console.WriteLine("ap: {0}\r\n", ap.Name);
//check if SSID is desired
if (ap.Name.StartsWith("ardrone_")){
//verify connection to desired SSID
Console.WriteLine("connected: {0}, password needed: {1}, has profile: {2}\r\n", ap.Name, ap.IsConnected, ap.HasProfile);
if (!ap.IsConnected){
//connect if not connected
Console.WriteLine("\r\n{0}\r\n", ap.ToString());
Console.WriteLine("Trying to connect..\r\n");
AuthRequest authRequest = new AuthRequest(ap);
ap.Connect(authRequest);
}
}
}发布于 2020-04-16 03:38:59
向AccessPoint.Connect方法的参数添加设置为"true“的overwriteProfile为我解决了这个问题。
F#示例:
open SimpleWifi
[<EntryPoint>]
let main argv =
let wifi = Wifi()
let accessPoint = wifi.GetAccessPoints()
|> Seq.find (fun (i:AccessPoint) -> i.Name = "Tpkl6" )
let try1 = accessPoint.Connect( AuthRequest(accessPoint, Password="12345678"), true )
let try2 = accessPoint.Connect( AuthRequest(accessPoint, Password="markvirchenko20"), true )
printfn "%b\n%b" try1 try2
0 // return an integer exit code顺便说一下,您在评论中询问了ispasswordvalid函数:
我断开了所有互联网的连接并尝试连接,ispasswordvalid有效验证为真,但连接失败
ispasswordvalid实际上并不检查密码是否正确,即是否与wifi上设置的密码匹配。它只是检查密码是否具有有效的结构,例如至少8个符号长度。
https://stackoverflow.com/questions/45010062
复制相似问题