创建一个可以回答WhatsApp消息的Web服务

时间:2014-04-01 11:22:55

标签: web-services whatsapp

我试图了解是否可以创建可以发送和回复WhatsApp消息的Web服务。我在网上搜索了一下,我找到了WhatsAPI

我想这个解决方案工作正常,但是对于WhatsApp的实际版本,它无法获得昵称,发件人,imei和密码。

为了得到它们,我设置了一台Linux PC,我在其中安装了mitmproxy来嗅探三星Galaxy S4的网络流量。通过使用mitmproxy,我可以看到手机产生的网络流量,所以我尝试注册WhatsApp(使用另一个SIM卡),但在mitmproxy中,我无法看到WhatsAPI所需的数据。

有谁知道是否可以通过其他方式获取密码?

如果它存在,你可以建议我一个方法吗?您是否认为可以这样做,或者使用Telegram或Wechat(他们有公共API)会更好吗?

3 个答案:

答案 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。这将生成唯一的身份哈希,除非您知道密码,否则无法复制。

将密码字段保留为空白将生成仅包含电话号码的身份哈希,这可以轻松复制并且非常不安全。

如果这些答案对您有帮助,请考虑以更具建设性的方式说谢谢