TA的每日心情![](source/plugin/dsu_paulsign/img/emot/shuai.gif) | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
项目采用开源程序IQQ开源程序、内置webQQ协议、并且使用十分方便、直接调用即可。/ D2 ]2 |( y% a2 ^& ^. l- w
本项目采用webService接口调用可以不用重新登录QQ即可实现项目的修改。测试期间 多次登录QQ导致QQ被检测到异常还得手机解封。
) x4 U, ]5 H& ~7 Y' F: d4 ~实现功能:% H J" s' m, O: b
一:实现天气预报的功能 用于输入#天气+你所在城市 目前只支持市区级查询。
- t8 h0 _, H6 V8 y7 }, r" a二:实现QQ号码吉凶查询 输入#QQ+你的号码。, v# }6 ^2 ]7 R' ?( z1 ]
三:实现聊天功能、调用小黄鸡接口实现java版小黄鸡。* R* g& J/ ]! H: K; E) r
四:用户可以随意修改源码if判断加入自己的message。* C0 p* D8 Y3 K' Z; S
代码展示:6 [& A' \$ Y; T) c* {
WebServiceClient.java
# v/ l3 p' A' U# x/ S5 H4 P- /**
, r! p+ r, P; T0 D$ [6 m5 f% u$ _4 c - * Copyright (c) 2010-2013 by 科帮网( d; z- M3 Z6 H, g2 c, [9 C" B
- * All rights reserved.
1 w1 P x. L" U - */
: H) O, a) Z# m: P - package webService.client;8 d" _) h1 k2 z, p
: N1 e/ N# Z4 s0 Q- import java.util.ResourceBundle;4 X0 P H' T/ m8 s9 d: \0 z
- - a" j1 j7 t: J& P0 Q0 s* w
- import javax.xml.namespace.QName;0 r6 \4 D) q8 B- b& L0 h8 G
! p# U1 j" u! s- _7 r- import org.apache.axis2.AxisFault;
( F8 i+ }: R0 L& l - import org.apache.axis2.addressing.EndpointReference;" K2 e' G& A& y) k' W7 Z
- import org.apache.axis2.client.Options;) u( D- b2 V3 h& |" K
- import org.apache.axis2.rpc.client.RPCServiceClient;* y O% ^: b. g1 }, X- |. W
5 ^% z, D G+ u# B1 c9 H/ v- import util.Constants;" }4 Q! N$ y, V0 K9 x) v. x9 [
- public class WebServiceClient {
6 {- q7 M" z( d - 3 a5 Q5 L/ a% j/ ?; }- K
- private static String SERVICE_URL = "";- ^/ t5 J& ]- q/ A4 i, x& W
- private static String TARGET_NAMESPACE = "";
C' U& f$ h' e% O* e9 k
/ }0 l$ A( a2 b# G0 P3 D- }/ p' ?: h- static{1 Y0 q; v# {4 i
- ResourceBundle resource = ResourceBundle.getBundle("config"); y( I6 O" G# s2 B
- SERVICE_URL = resource.getString(Constants.SSO_SERVICE_URL);+ t: \- ^. [" r4 f; s
- TARGET_NAMESPACE = resource.getString(Constants.SSO_TARGET_NAMESPACE);: j K4 }) [$ Z
- }
3 H1 B; a: S, ^) l' U: p - private static RPCServiceClient initClient(String serviceUrl) throws AxisFault{8 a+ k+ Y8 |$ x7 b! f7 ~3 @) D
- EndpointReference targetEPR = new EndpointReference(serviceUrl);# I$ x% h$ C6 w+ p1 Z, Z
- RPCServiceClient sender = new RPCServiceClient();
& i7 E' e/ T0 M# A* w5 W; d1 r, M - Options options = sender.getOptions();4 [) Q8 ?' c; f B6 t$ r. B
- options.setTimeOutInMilliSeconds(20000L);//超时时间20s0 U9 u2 A9 a3 h' {+ m
- options.setTo(targetEPR);1 O( P S" V0 x+ k1 ~& O; N
- return sender;7 e" y/ p9 V. Z) ^# t k3 j" P4 O( D' J( E
- }
9 c( X% b. W! N! i - public String listSchoolGroup(String text) throws AxisFault{
5 x x' {: p6 _ - RPCServiceClient sender = initClient(SERVICE_URL);
0 G0 j0 |! \: a u3 b& R9 E. t - QName qname = new QName(TARGET_NAMESPACE, "getMessage");
' h. P/ o0 Q" k7 r: i- {2 W/ b& [ - Object[] param = new Object[]{text};
1 O$ a6 O7 \# S, {4 Q - Class[] types = new Class[]{String.class};, X: h* N# I, w7 R: I
- Object[] response = sender.invokeBlocking(qname, param, types);- n' m/ w- x: c" t3 I
- String result = (String)response[0];
+ s3 M: J- Z9 l7 c, m: E - return result;
$ F; A& E7 D+ u! m; x - }
l! V& e9 c& c0 p T - }
! ~, W- u3 i- r3 q
复制代码 WSServer.java8 _) }" W, w5 `2 [; N1 M3 f9 W
- package webService.server;
4 N K3 X* j7 w
0 C3 ~# l8 c0 s7 }( W- import util.Constants;. e" q9 H1 ?1 o$ W
- import util.Qq;9 {+ t1 K$ y b) v3 \" o
- import util.SimsimiTools;( p8 [4 J; I R6 D9 w# r) O* ^
- import util.Weather;
& D: M4 p6 B$ E7 z3 b& G
* ^/ ^% {+ Q5 q- H- public class WSServer {
- B q, }: D. F2 e5 j - public String getMessage(String text) throws Exception{
9 E) Y* J0 U3 d0 L - String message ="";
; [) M9 I+ E5 W, ~8 C1 t - if(text.startsWith("#")){; {1 \. x& Z1 A/ b. E, a
- String str = text.substring(1, 3);/ @- I b Q! C! H% m! j
- if(Constants.WEATHER.equals(str)){
3 P/ N+ b: z, N, L! m9 a; T* V F8 t: S - //天气查询# k) q5 B9 ]% I6 q+ v4 J
- String cityName = text.substring(3, text.length());% T% X+ [1 [5 K+ s
- message = Weather.Weather(cityName.trim());
8 u3 I! {) W) W+ c - }else if(Constants.YUANMA.equals(str)){2 l# \! c5 P/ t
- message = "源码网 http://www.52itstyle.top";
- R, k) G) x4 v9 v" U6 `& O( I. n$ G - }else if("QQ".equalsIgnoreCase(str)){# _ W3 Z- N/ v% B4 b
- //QQ吉凶查询
" N- c+ Q+ u f) z: h, m8 T - String qq = text.substring(3, text.length());- u- a0 `3 w6 V6 j3 Q& ^" k4 C
- message = Qq.qq(qq.trim());, f/ H$ E0 Y8 N* a/ H$ r' V
- }else{
0 x) n; Q N7 y6 e. z - //小黄鸡
6 o* R1 X; U: n( `9 v - message = SimsimiTools.getSimsimiContentByNiuren(text.substring(1, text.length()));
; _ B, q' k- O$ C - }: _+ Z n2 ]+ C7 H
- }else{
( K0 T- i% b, C2 e - if(text.contains("QQ")||text.contains("qq")){
8 N4 Y' y; O: [" g7 D& l- A1 V2 O) [ - message = "QQ号码吉凶查询格式 #QQ+你的QQ号";/ d# P8 d0 j; I
- }# d4 C$ G3 q/ }6 b; N
- if(text.contains("天气")){+ a' `; Q I' a) y' |6 p
- message = "天气查询格式 #天气+你所在城市";3 w0 d) }4 {" _9 V& a, T/ [3 b
- }
- i3 c6 v) N9 i# O! T1 s: ^% W - }& v0 w( |" J( }
- return message;. q' D9 G; b- I i( Z* R
- }: R8 I) F0 R* I% A
- }
9 @ ?) N( l5 x/ G* H% n
复制代码
) a i3 d, b! C. k项目源码下载地址:java版QQ机器人调用接口源码. I8 h- d- q7 `8 l, e) u4 z
8 w) V. x$ v8 A1 F" z# b3 Q1 V6 Q
% I) U7 N" E% L1 M: E
|
|