MSN API编程例子

逆向解析MSN天气API:从JWT认证到请求签名的反爬策略实战 在现代Web开发中,API(应用程序编程接口)是数据交互的核心。其工作原理通常基于客户端-服务器模型,通过预定义的协议和格式进行通信,以实现数据的安全、高效传输。从技术价值看,设计良好的API不仅能提升系统性能和可维护性,更是实施隐私保护、防止数据滥用和抵御自动化攻击的关键防线。这在天气查询、金融数据、地图服务等涉及敏感或高价值信息的应用场景中尤为重要。以MSN天气服务为例,其API通过JWT(JSON Web Token)认证和请求签名等机制,构建了一套纵深防御体系,有效对抗恶意爬虫。本文通过逆向工程实践 阅读详情

 先到 http://sourceforge.net/projects/jmsn/ 下载 lib 包msnm.jar

再到 sun 官方网站下载 jsse.jar 包

最后...

package  stock;

import  java.io.BufferedInputStream;
import  java.io.DataInputStream;
import  java.io.IOException;
import  java.io.InputStream;

import  rath.msnm.MSNMessenger;
import  rath.msnm.SwitchboardSession;
import  rath.msnm.UserStatus;
import  rath.msnm.event.MsnAdapter;
import  rath.msnm.entity. * ;
import  rath.msnm.msg. * ;

public   class  StockMsn  {
 
public static String friend = "hunter_k_gd@hotmail.com";
 
public static String me = "hunter-hw@hotmail.com";
 
public static String password = "z123";

 
public static void main(String[] args) throws IOException,
   InterruptedException 
{
  MSNMessenger msn 
= new MSNMessenger(me, password);
  msn.setInitialStatus(UserStatus.ONLINE);
  
// 监听
  msn.addMsnListener(new MsnAdapter() {
   
public void progressTyping(SwitchboardSession ss, MsnFriend friend,
     String typingUser) 
{
    System.out.println(
"Typing on " + friend.getLoginName());
   }

   
public void instantMessageReceived(SwitchboardSession ss,
     MsnFriend friend, MimeMessage mime) 
{
    System.out.println(
"*** MimeMessage from "
      
+ friend.getLoginName());
    System.out.println(mime.getMessage());
    System.out.println(
"*****************************");
   }

  }
);

  
// 登陆
  System.out.println(" msn login....");
  msn.login();

  
// 呼叫
  msn.doCall(friend);
  Thread.sleep(
5000);// 延迟,SwitchboardSession创建容易失败
  SwitchboardSession ss = null;
  
while (ss == null{
   System.out.println(
" Tring call " + friend);
   ss 
= msn.doCallWait(friend);
   Thread.sleep(
1000);// 循环,直到创建SwitchboardSession成功
  }


  System.out.println(
" SwitchboardSession =" + ss + ",创建成功!可以聊天了...");

  
// 保持聊天
  boolean exit = false;
  
while (!exit) {
   DataInputStream stdio 
= new DataInputStream(
     
new BufferedInputStream(System.in));
   String line 
= "请输入信息: ";
   System.out.println(line);
   
while ((line = stdio.readLine()).length() != 0{
    
// 这里转换字符集
    byte[] tmpbyte = line.getBytes("ISO8859_1");
    line 
= new String(tmpbyte);

    System.out.println(
"Sending to" + friend + " : " + line);

    MimeMessage msg 
= new MimeMessage();
    msg.setKind(MimeMessage.KIND_MESSAGE);
    msg.setMessage(line);
    
while (ss == null{
     System.out.println(
" Retring call " + friend);
     ss 
= msn.doCallWait(friend);
     Thread.sleep(
1000);// 循环,直到创建SwitchboardSession成功
    }

    ss.sendInstantMessage(msg);

   }

  }


 }

}

 
MSN桌面消息通知系统开发实战指南 本文还有配套的精品资源,点击获取 简介:该指南旨在帮助开发者实现一个类似即时通讯软件的消息通知系统,特别是针对MSN风格的应用。项目的核心在于创建一个浮动窗口,用于在屏幕右下角滚动显示消息。文档中包含了创建和管理该类型消息框的详细设计和实现步骤,可能涉及到Windows API、消息队列、自定义控件等编程技术和方法。开发者可以通过此指南,利用多种编程语言和图形库,来构建一个... 阅读详情

相关推荐

C#实现MSN弹出式对话框仿真实例

Visual Studio 是 Microsoft 公司推出的一款集成开发环境(IDE),它支持多种编程语言和平台,是进行 Windows 应用程序开发的首选工具之一。通过使用 Visual Studio,开发者可以创建、调试和发布应用程序。Visual Studio 的功能非常丰富,它包括代码编辑器、图形设计器、调试器以及数据库工具等。它还提供了大量的扩展,可以增强开发者的开发体验。

weixin_31974443的博客 976

msn api msn api

msn apimsn apimsn apimsn api

构建基于C#的MSN聊天客户端项目

本文还有配套的精品资源,点击获取 简介:本文档详细介绍了如何利用C#语言实现MSN聊天工具的客户端程序。该程序实现了基于TCP/IP的网络通信,支持发送文本和表情等信息。内容涵盖了C#中的套接字编程、事件驱动、多线程处理、字符串处理和资源管理等核心技术。此外,还讨论了实现网络通信安全性的方法,如用户认证和数据加密。通过MVC设计模式和工厂模式等设计模式的应用,增强了代码的结...

weixin_42583683的博客 997

msn api(c++ chm格式)

上段时间工作需要了解下MSNapi编程,找了好久才找到一个chm格式的c++api文档

API实现在MSN的信息提示

我是比较喜欢用MSN的,因为它的信息提示比较独特,所有的聊天软件都是弹出一个常规的WINDOWS对话框,而它却好像是从任务栏里冒出来的。想想了,在DELPHI这样的纯OOP工具里加一个API应该不难实现,花了十来分钟终于搞出来了,以下是实现方法:1、建立一个APPLICATION,将两个按钮放置到主窗体FROM1中,分别为button1和button2。button1.caption:=打开

westhillchen的专栏 715

关于使用MSNAPI进行开发

最近有点不务正业,呵呵。在XP system32/URTTemp 里面找 regtlib.EXE 出来,然后执行regtlib.exe "c:/program files/msn messenger/msnmsgr.exe/2" 在VS得 COM 里面,就可以稳到 Messenger API Type Lib.然后利用MSN进行开发。下面有两篇文章介绍了例子,但是第二篇文章中的例子没有试成功ht

superlmj的博客 3828

MSN开发接口

看到很多网站上可以直接读出你的msn上的好友并发送邀请,也可以直接发送聊天信息,用msn提供的开发接口就可以实现这样的功能.MSNHelper: http://sourceforge.net/projects/msnphelper/ dotMSN:http://members.home.nl/b.geertsema/dotMSN/ 这两个都是为.NET开发的,dotMSN,它使用MSNP8

做最好的自己 5743

技术:编写自己的MSN机器人

第三方提供的通道同样是可行的。2.dotMSN是由一位丹麦的高手开发的基于.NET的开发包,使用的使MSN P8协议,虽然它没有支持到目前刚刚推出的MSN P10。由于MSN通信协议是基于TCP/IP的ASCII文本协议,因此通过WINDOWS的SOCKET与微软架设在全球的MSN服务器按照既定的协议进行通信,就可以与全球的MSN用户进行即时的消息和文件的传输(具体的MSN协议可以通过该网页获得http://www.hypothetic.org/docs/msn/index.php)。

biyusr的专栏 963

编写自己的MSN机器

第三方提供的通道同样是可行的。2. dotMSN是由一位丹麦的高手开发的基于.NET的开发包,使用的使MSN P8协议,虽然它没有支持到目前刚刚推出的MSN P10。由于MSN通信协议是基于TCP/IP的ASCII文本协议,因此通过WINDOWS的SOCKET与微软架设在全球的MSN服务器按照既定的协议进行通信,就可以与全球的MSN用户进行即时的消息和文件的传输(具体的MSN协议可以通过该网页获得http://www.hypothetic.org/docs/msn/index.php)。

biyusr的专栏 1035

VC编程获取MSN口令的代码

MSN Messenger uses Windows Credential UI [credui.dll] on WinXP/2003. Password-Storage mechanism differs in these OSes so, the code posted by tombkeeper [http://xfocus.net/articles/200408/726.html] doe

海阔天空 761

编写自己的MSN机器人

概述 现在各类即时通信软件琳琅满目,相信接触过INTERNET的人都会使用过其中的一部分。在中国就目前用户量而言,腾讯公司的QQ、微软公司的MSN Messenger以及网易公司的POPO排名在前三位。不过令人比较遗憾的是,腾讯公司和网易公司对于QQ以及POPO使用的通信协议并没有对外界公开,正是由于这样的技术壁垒,使得一些即时通信的开发者很难在这些用户群中开辟新的客户服务渠道。        不

Paul_Ni的专栏 3707

微软开放MSN API 腾讯QQ反对互通紧急封杀

微软宣称,将于9月13号召开的“专业开发人员大会”(PDC)上公布新的Web开发平台,该开发平台将使开发人员能够在其MSN部门的网络服务中增添新的搜索、地图、即时通讯功能,而远在微软公开MSN API的日期之前,已有采用该API...

cuibinmo3519的博客 253

微软开放MSN API 腾讯反对互通

微软宣称,将于9月13号召开的“专业开发人员大会”(PDC)上公布新的Web开发平台,该开发平台将使开发人员能够在其MSN部门的网络服务中增添新的搜索、地图、即时通讯功能,而远在微软公开MSN API的日期之前,已有采用该API...

cuibinmo3519的博客 293

MSN pk QQ - 看软件重点用户体验

和朋友网上聊天,我更喜欢使用QQ,QQ默认保存聊天记录,有专门的聊天记录管理器,能导入导出聊天记录,这点很重要,一些旧友打招呼,我就能使用聊天记录来帮助恢复我的记忆,聊天时老是问对方是谁干什么的这些老问题,这是不礼貌的。 MSN经过设置,可以保存聊天记录,而且保存为通用的XML文件格式,但是缺难于查看,保存的目录比较深,导入导出很不方便。 QQ聊天中可以直接贴图片,包括GIF动画图片,而且图片...

weixin_30625691的博客 105

[转]编写自己的MSN机器人

概述现在各类即时通信软件琳琅满目,相信接触过INTERNET的人都会使用过其中的一部分。在中国就目前用户量而言,腾讯公司的QQ、微软公司的MSN Messenger以及网易公司的POPO排名在前三位。不过令人比较遗憾的是,腾讯公司和网易公司对于QQ以及POPO使用的通信协议并没有对外界公开,正是由于这样的技术壁垒,使得一些即时通信的开发者很难在这些用户群中开辟新的客户服务渠道。      

编程爱好者 981

Delphi中用API实现在MSN的信息提示 [Delphi/Kylix]

我是比较喜欢用MSN的,因为它的信息提示比较独特,所有的聊天软件都是弹出一个常规的WINDOWS对话框,而它却好像是从任务栏里冒出来的。想想了,在DELPHI这样的纯OOP工具里加一个API应该不难实现,花了十来分钟终于搞出来了,以下是实现方法:   1、建立一个APPLICATION,将两个按钮放置到主窗体FROM1中,分别为button1和button2。 ...

我的IT之旅 252
上一篇: Html如何使表达提交后,点回退/返回,保留表单数据?
hunterK
博客等级 码龄23年 0粉丝 12原创
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值