TA的每日心情![](source/plugin/dsu_paulsign/img/emot/shuai.gif) | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
项目采用开源程序IQQ开源程序、内置webQQ协议、并且使用十分方便、直接调用即可。$ l; W$ e8 ~6 F6 z B$ T( R
本项目采用webService接口调用可以不用重新登录QQ即可实现项目的修改。测试期间 多次登录QQ导致QQ被检测到异常还得手机解封。
/ s# _ m; V- l) Q6 v7 T7 t, Q实现功能:
) y$ V8 o4 z) c, z$ m: l9 @一:实现天气预报的功能 用于输入#天气+你所在城市 目前只支持市区级查询。3 L! m% w$ `' ^- @( m6 ]+ N
二:实现QQ号码吉凶查询 输入#QQ+你的号码。8 I! n ^: T Z; x, l4 a' v+ y3 T
三:实现聊天功能、调用小黄鸡接口实现java版小黄鸡。, k: r& t& @% C8 E( ~0 m1 [
四:用户可以随意修改源码if判断加入自己的message。
2 @; {) E& ]8 {% h) K$ {& z+ k代码展示:
" x# E6 v) u8 z# w% ]! c* XWebServiceClient.java
# r; e0 O0 S% r4 |2 ~* m% s- /**
" h2 s; x- `9 P$ _ P2 W - * Copyright (c) 2010-2013 by 科帮网6 B& \) q+ B2 v- l+ K. a0 m
- * All rights reserved.
& d8 s n1 m0 v# R - */
9 Y" m/ } M0 P: z3 N - package webService.client;
4 j& P" V* y7 J
6 `/ J' {# f) X# F: \7 b+ Y) {+ S- import java.util.ResourceBundle;
1 I: Y+ W: v1 I+ M& N, h - ! q+ J- I) b: s8 C: T5 X' Q
- import javax.xml.namespace.QName;
7 F/ c! V9 |! K+ k5 k - . [1 |8 K5 |* Z: q' W
- import org.apache.axis2.AxisFault;1 z9 L7 K1 r: j
- import org.apache.axis2.addressing.EndpointReference;
# J' S$ P' D! a" Y* N' n5 a - import org.apache.axis2.client.Options;
, O4 t% ^, T8 p- Q4 G. h - import org.apache.axis2.rpc.client.RPCServiceClient;
- C7 O* S Y' ]& a
5 ]' H+ y) E8 e8 Z% {6 s5 J- W- import util.Constants;
! i. F# i! t9 K - public class WebServiceClient {
r) N+ f$ c; k& G3 X: b
1 u" Y v' Y: z. A- private static String SERVICE_URL = "";" o" n0 a& M% l! j$ V
- private static String TARGET_NAMESPACE = "";( x9 |# @" t* [( o$ k8 R( C ^/ b
- 8 u8 [: O* D2 l) |# H
- static{
) R+ e0 l' N; r; K! h9 w - ResourceBundle resource = ResourceBundle.getBundle("config");4 h# w' n* P7 i3 L. d6 p4 H; @
- SERVICE_URL = resource.getString(Constants.SSO_SERVICE_URL);
8 e) J' d) f& a0 C0 X; u - TARGET_NAMESPACE = resource.getString(Constants.SSO_TARGET_NAMESPACE);
) y4 [5 {: w- P0 `7 |; Y4 ~ - }
! O# U! p0 ?9 { - private static RPCServiceClient initClient(String serviceUrl) throws AxisFault{0 n* Y. n1 d0 D5 S
- EndpointReference targetEPR = new EndpointReference(serviceUrl);
* H& [2 A( ^5 n4 } - RPCServiceClient sender = new RPCServiceClient();: } m$ g/ |" l1 u% ~
- Options options = sender.getOptions();8 ]6 }' H: a4 z: I
- options.setTimeOutInMilliSeconds(20000L);//超时时间20s
5 N& p; s; l3 J. a3 c4 y' S" s6 P - options.setTo(targetEPR);& f, H; N) Q# ?2 h9 p& n
- return sender;
u7 L' L6 t5 v! S, h; N - }
- d/ z4 u% ]1 f/ ?9 U - public String listSchoolGroup(String text) throws AxisFault{
4 c3 J- ]+ s% ~5 x- v6 P& Q ? - RPCServiceClient sender = initClient(SERVICE_URL);
2 r! E6 T: h/ M1 U. p - QName qname = new QName(TARGET_NAMESPACE, "getMessage");
' M ~- }# b, R' \3 y8 x# ]6 x - Object[] param = new Object[]{text};
9 P6 p7 I0 R: n3 C6 \5 E6 C! z - Class[] types = new Class[]{String.class};
) o! X! Y9 [9 s, g+ C+ C9 r! v8 p - Object[] response = sender.invokeBlocking(qname, param, types);
9 a" ^" M) X8 y6 q k, J8 W - String result = (String)response[0];1 K) [) g( w) v2 A. `5 {+ M
- return result;- j% i) L4 u& t y4 m
- }; Z% ~1 d* m0 p
- }
* |9 d# d6 p9 [% e$ [( F% f! [
复制代码 WSServer.java
" Q' E( ?7 P$ h6 ~" v3 b7 k; j4 H [- package webService.server;2 D1 V) B' o5 {- Q$ } h' n
- 2 Q% V$ @9 x5 a \( j2 v
- import util.Constants; V" N: P0 w& w0 C
- import util.Qq;
, ^% @ K2 S) ]5 h - import util.SimsimiTools;
1 \: I0 c' D4 p3 H - import util.Weather;
. j/ S# Q- A [! }( q* |( ~ - , S7 T6 P1 X1 C
- public class WSServer {/ @3 y2 K8 }. e- s( f$ o- n, `
- public String getMessage(String text) throws Exception{% L8 G9 O$ `5 r& R% n% s% J
- String message ="";
- K k1 d5 C) l' R, V - if(text.startsWith("#")){
. B2 E2 e7 C# b# W3 E3 l1 B - String str = text.substring(1, 3);
: O' U5 H* ]" N! l8 U0 B - if(Constants.WEATHER.equals(str)){9 o+ O8 C' E, B/ c2 @0 Y
- //天气查询
: h' i' V; a( k4 U) ^ - String cityName = text.substring(3, text.length());
# c6 [- a6 \! `1 Y9 G - message = Weather.Weather(cityName.trim());: y" V2 j9 \% k
- }else if(Constants.YUANMA.equals(str)){
% l" P1 E* l2 N+ N( E0 o1 x. U" u - message = "源码网 http://www.52itstyle.top";
7 }6 y6 P2 V" H% i - }else if("QQ".equalsIgnoreCase(str)){- I, \9 A' z" G/ u+ V
- //QQ吉凶查询
5 u7 f; U- G; A5 f - String qq = text.substring(3, text.length());2 ~; o7 k% I% P+ G; N
- message = Qq.qq(qq.trim());9 I* V* E" t7 {- C
- }else{
' x/ }5 i7 N6 X' W' O( R' | - //小黄鸡
- E ]1 v: |5 k0 _6 o - message = SimsimiTools.getSimsimiContentByNiuren(text.substring(1, text.length()));% A% i4 Q$ Z3 k3 ^5 H; X2 }
- }9 l p5 y7 {' f3 W7 e( j; s
- }else{
9 w6 S/ x" V1 m! w: r - if(text.contains("QQ")||text.contains("qq")){' M* l4 m' I0 \; p% z" l
- message = "QQ号码吉凶查询格式 #QQ+你的QQ号";
3 Q6 f$ O5 P( z" s7 a3 D - }
; W, P9 r- y3 ?' U7 h P1 h/ p7 ? - if(text.contains("天气")){
& ~8 D/ \% l( x* g1 w - message = "天气查询格式 #天气+你所在城市";; [, c: ~2 o1 }3 y) e
- }( R3 V) U' [8 Q; ^1 n
- }- v G7 O7 G% x1 {' D
- return message;6 @8 t, l8 L$ L" A9 ~) {+ R# I% E
- }
" o6 h) H, p, s9 f U3 ^% M" @* A - }
7 Q: ]7 c7 V" l$ G" o( l) l
复制代码
8 f# u5 ]- F8 W; s; H; Z( e项目源码下载地址:java版QQ机器人调用接口源码
# G7 G, s6 h; r% {$ y4 U
. t. C% ^3 f! q' H, M, ?( `; J
% c7 ]/ K( r* X4 `5 b y3 N+ \0 H: N6 S& g
|
|