我试图了解是否可以创建可以发送和回复WhatsApp消息的Web服务。我在网上搜索了一下,我找到了WhatsAPI,
我想这个解决方案工作正常,但是对于WhatsApp的实际版本,它无法获得昵称,发件人,imei和密码。
为了得到它们,我设置了一台Linux PC,我在其中安装了mitmproxy来嗅探三星Galaxy S4的网络流量。通过使用mitmproxy,我可以看到手机产生的网络流量,所以我尝试注册WhatsApp(使用另一个SIM卡),但在mitmproxy中,我无法看到WhatsAPI所需的数据。
有谁知道是否可以通过其他方式获取密码?
如果它存在,你可以建议我一个方法吗?您是否认为可以这样做,或者使用Telegram或Wechat(他们有公共API)会更好吗?
答案 0 :(得分:20)
对于Java,您可以尝试WhatsUp
对于Python,请参阅YowsUp。
请注意WhatsApp威胁legal action针对这些图书馆开发人员,并且没有正式支持以这种方式使用该服务。
我还直接与WhatsApp代表进行了直接对话,他们说可以接受 no 商业API使用WhatsApp。
另请注意,群发邮件违反WhatsApp服务条款。
曾经有WhatsAPI的PHP实现,以及另一个Java实现WhatsApi4J。由于法律威胁,两者都不再可用。
答案 1 :(得分:4)
对于.NET,您使用https://github.com/mgp25/Chat-API-NET
从此链接下载生成密码https://github.com/mgp25/WART的安装程序
string nickname = "Nickname";
/* Your number in the format CCAANNNNNNNNN
* C - Country Code
* A - Area Code
* N - Phone number */
string sender = "***************"; //phone number
string password = "*****************"; // Obtain it with WART or Yowsup
WhatsApp wa = new WhatsApp(sender, password, nickname, true);
wa.OnConnectSuccess += () =>
{
Console.WriteLine("Connected");
wa.OnLoginSuccess += (phoneNumber, data) =>
{
Console.WriteLine("Connection success!");
wa.SendMessage("**************"/* Number */, "Hello World!");
Console.WriteLine("Message sent!");
};
wa.OnLoginFailed += (data) => {
Console.WriteLine("Login failed: {0}", data);
};
wa.Login();
};
wa.OnConnectFailed += (ex) =>
{
Console.WriteLine("Connect failed: {0}", ex.StackTrace);
};
wa.Connect();
Console.WriteLine("END");
Console.ReadLine();
答案 2 :(得分:0)
疣应用可能对你有用。
WhatsApp注册工具
使用由Jake
创建的令牌生成器我使用WhatsApiNet分叉
需要.NET Framework 4或Mono Framework(在Linux上单声道完成)
此工具用于注册新的电话号码,也可用于检索已注册号码的新密码。
注册标识由程序根据电话号码自动生成。
生成标识时,可选(强烈推荐)密码字段用作salt。这将生成唯一的身份哈希,除非您知道密码,否则无法复制。
将密码字段保留为空白将生成仅包含电话号码的身份哈希,这可以轻松复制并且非常不安全。
如果这些答案对您有帮助,请考虑以更具建设性的方式说谢谢