TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
项目采用开源程序IQQ开源程序、内置webQQ协议、并且使用十分方便、直接调用即可。
7 H7 R" U; X9 W% B+ F本项目采用webService接口调用可以不用重新登录QQ即可实现项目的修改。测试期间 多次登录QQ导致QQ被检测到异常还得手机解封。- U+ H4 L# N8 V
实现功能: z* o9 z$ `- ^# i1 j
一:实现天气预报的功能 用于输入#天气+你所在城市 目前只支持市区级查询。
* a" D3 K$ Y# ?; U5 F2 X* j3 V+ U二:实现QQ号码吉凶查询 输入#QQ+你的号码。9 r" `* ?8 I6 a9 F' D; ^4 e& q5 V
三:实现聊天功能、调用小黄鸡接口实现java版小黄鸡。1 l7 U# M+ }/ B* d1 P% o% l
四:用户可以随意修改源码if判断加入自己的message。7 _" [0 {4 F% {/ x) q8 `" ?, k
代码展示:
7 L+ R. u. H" q4 B1 d7 @. rWebServiceClient.java! {- k8 b2 D1 J% [1 q+ }
- /**
& Z8 Y: r/ D" {0 L b - * Copyright (c) 2010-2013 by 科帮网
2 B) m* D% h: w0 N, t' s: C$ T - * All rights reserved.
% }/ y% |% ^9 p$ H4 Y - */
) }+ q" I6 B# M6 t1 E. g1 U - package webService.client;
. F1 [1 q5 K4 z6 D9 ]6 s" j
1 U8 p' C" m K- import java.util.ResourceBundle;
. ?1 D$ h% D' H) W% o
J, c( x% r1 R% @; S- T0 f* e& t- import javax.xml.namespace.QName;
+ V1 X$ u/ S) E% f0 K4 y c
: j- {; n- R5 [- [$ u- import org.apache.axis2.AxisFault;
6 E; m2 M0 o, @ - import org.apache.axis2.addressing.EndpointReference;0 t6 [5 _4 d- J: ]9 F) f3 `/ L! v
- import org.apache.axis2.client.Options;. ?5 r6 ]1 t7 \0 \% y
- import org.apache.axis2.rpc.client.RPCServiceClient;) G, |- q( Y9 y- k
3 h% Y, v! t. w- import util.Constants;
4 e& E- G- P1 o; v( p$ n& M3 g - public class WebServiceClient {; ? z/ K/ a) L' y7 Y8 I# Y% H y/ \" o
6 O8 z0 w7 K" R, ]6 Q- private static String SERVICE_URL = "";
& ]* Y% \; x6 u; ]0 l - private static String TARGET_NAMESPACE = "";5 x7 y& Y( W+ [
- - B5 t9 i* V; P# a }% f
- static{
- \: v9 B `* f$ s% W5 P - ResourceBundle resource = ResourceBundle.getBundle("config");2 n6 e1 ?0 u4 p, U
- SERVICE_URL = resource.getString(Constants.SSO_SERVICE_URL);
5 C* f% `1 C5 u - TARGET_NAMESPACE = resource.getString(Constants.SSO_TARGET_NAMESPACE);
3 \! z4 B1 B7 @9 ? S - }
0 c1 f$ W6 j0 _ - private static RPCServiceClient initClient(String serviceUrl) throws AxisFault{
& I9 `2 \4 H! x( o/ Z9 [ - EndpointReference targetEPR = new EndpointReference(serviceUrl);
t2 t' W {# i% N! Z6 O' Y% X - RPCServiceClient sender = new RPCServiceClient(); \/ Z& g3 R1 h+ t& e. d- t7 I% \
- Options options = sender.getOptions(); i3 D, ~- p2 ~7 C- `8 a
- options.setTimeOutInMilliSeconds(20000L);//超时时间20s: ?+ E+ P/ L7 o+ R
- options.setTo(targetEPR);
. D7 }6 `% s- D' m: B. T - return sender;/ n0 r2 }1 a3 x& k
- }, {0 x& y, b5 z- k
- public String listSchoolGroup(String text) throws AxisFault{& d% `6 X* L9 E J( E
- RPCServiceClient sender = initClient(SERVICE_URL);* }% {! _5 `# u3 P! o# A& I
- QName qname = new QName(TARGET_NAMESPACE, "getMessage");- Q% M9 B* d6 Y1 J% F9 x/ G T
- Object[] param = new Object[]{text};( @/ l( w; T! D
- Class[] types = new Class[]{String.class};$ j- O' K. K- i) ~
- Object[] response = sender.invokeBlocking(qname, param, types);
, I" v( j2 b" | - String result = (String)response[0];
; L/ @ j- w, p* D% \3 C- ]; t - return result;: ?/ g8 @6 R7 a% _% T6 }. j
- }
7 a0 j% d8 q- Z: f - }
( k# W3 s: m! h* Y
复制代码 WSServer.java
( d2 I' F/ A7 g* k. B/ u- package webService.server;2 z, M3 S' R+ @( h0 v; R
- ) y! w3 X+ X& \' D& A
- import util.Constants;
1 i$ n. G3 I+ l. W - import util.Qq;
/ R! V% _; u5 K - import util.SimsimiTools;
0 x- g. {( U" i% a0 X - import util.Weather;( e; a0 y% q; k! G0 G
) s. I& e& T/ k$ _5 A9 V- public class WSServer {& m1 E) P% V& J
- public String getMessage(String text) throws Exception{
6 Q: c) x. a6 e - String message ="";
! m: ]2 o8 z( i - if(text.startsWith("#")){3 Y/ x" d6 X/ Q9 P9 S' q J* f! X
- String str = text.substring(1, 3);
9 G, }2 \4 H2 G& Z - if(Constants.WEATHER.equals(str)){/ G4 [4 k1 ?' p7 R2 {* p
- //天气查询4 E2 w3 _# {/ I5 E X% I& e0 n" g
- String cityName = text.substring(3, text.length());! t4 f: K1 V" ~+ p+ j0 S
- message = Weather.Weather(cityName.trim());
8 w9 p& \. ^; R2 f. a/ i M - }else if(Constants.YUANMA.equals(str)){9 j8 g& z, v/ V1 _6 |
- message = "源码网 http://www.52itstyle.top";
7 g* \0 q5 A) `: z- K$ ^7 M - }else if("QQ".equalsIgnoreCase(str)){4 W7 u; x' O7 ^7 f5 J
- //QQ吉凶查询: |! a* e7 `8 `) C+ }; L
- String qq = text.substring(3, text.length());+ ]3 E2 J& w! c* M' e5 S/ o1 b- d
- message = Qq.qq(qq.trim());
p" A% R1 o- J% a - }else{
+ c/ _7 m& f- d2 P3 | - //小黄鸡
) P* o2 ^* ^+ P! f0 J7 y - message = SimsimiTools.getSimsimiContentByNiuren(text.substring(1, text.length()));; S; u1 ?, s0 i. w9 a8 { y$ a
- }( q( R3 W" @) F b4 j, g! V
- }else{& }# i: n O9 ~6 M
- if(text.contains("QQ")||text.contains("qq")){, f3 g% m( Y4 M# M" v1 _
- message = "QQ号码吉凶查询格式 #QQ+你的QQ号";
3 v* m1 Y, f! B" w6 \$ A - }
6 }# `9 D1 k' M: P! {9 K3 m2 N ^ - if(text.contains("天气")){
0 s' m5 ]2 R3 V# [. A - message = "天气查询格式 #天气+你所在城市";
; H9 M, o3 W5 K9 ]# G, p - }6 p! v1 @5 ]) p, W. d a1 l/ a
- }
! [; z( Z1 f$ }0 ^ - return message;
% v: a- W0 C% |0 U: r D - }' x$ M( s* H# H/ Y
- }5 C8 S" d G/ { A3 A
复制代码
' y( U# F0 X( F6 k2 N& C项目源码下载地址:java版QQ机器人调用接口源码' p) n& V$ r' i9 g
0 k% [! r' ~, N( f+ h( u) B# o; j
5 Q# V+ l8 A/ `' @9 p6 z, p* ^
2 p* V' I0 F& o% H1 S- _
|
|