用程序判断一个QQ号码是否在线、是否存在(delphi调用webService)

    腾讯提供了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号所做的限制吧。

原文地址:https://www.cnblogs.com/xinyuyuanm/p/3002617.html