腾讯提供了webservice的接口,可以通过程序判断qq号码是否存在、是否在线等信息。
其webservice接口的地址为:http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx,这里有解释,通过qqCheckOnline返回字符串,Y = 在线;N = 离线;E = QQ号码错误;A = 商业用户验证失败;V = 免费用户超过数量。
刚写了一个程序,用delphi具体步骤如下:
1、新建project1,Form1
2、file--new----other----webservice---WSDLimporter---输入wsdl地址:http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl
3、此时创建了一个qqOnlineWebService.pas文件,文件结尾处的Initialize只有两行,需修改为:
initialization
InvRegistry.RegisterInterface(TypeInfo(qqOnlineWebServiceSoap), 'http://WebXml.com.cn/', 'utf-8');
InvRegistry.RegisterInvokeOptions(TypeInfo(qqOnlineWebServiceSoap), ioDocument);
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(qqOnlineWebServiceSoap), 'http://WebXml.com.cn/qqCheckOnline');
这里的中间一行是需要自己手动加进去的,否则运行会失败。
4、在Form1里面加按钮button1,编辑框edit1,输入代码:
procedure TForm1.Button1Click(Sender: TObject);
var
statusQuery:qqOnlineWebServiceSoap;
state:string;
begin
statusQuery:=GetqqOnlineWebServiceSoap;
state:=statusQuery.qqCheckOnline(edit1.text);
ShowMessage(state);
end;
弹出的框所显示的信息即为此QQ号的信息。没交钱的用户只能查询几百个,这是腾讯为了防止有人大量查询qq号所做的限制吧。