TA的每日心情![](source/plugin/dsu_paulsign/img/emot/shuai.gif) | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
项目采用开源程序IQQ开源程序、内置webQQ协议、并且使用十分方便、直接调用即可。
6 ?( B' y" ]) _3 y本项目采用webService接口调用可以不用重新登录QQ即可实现项目的修改。测试期间 多次登录QQ导致QQ被检测到异常还得手机解封。" L7 @4 V) o4 H: X* B5 \: U. j
实现功能:
/ t7 x+ n! |1 S0 J一:实现天气预报的功能 用于输入#天气+你所在城市 目前只支持市区级查询。5 H$ j* }1 g8 F
二:实现QQ号码吉凶查询 输入#QQ+你的号码。
+ h9 s- o- f/ d三:实现聊天功能、调用小黄鸡接口实现java版小黄鸡。
# D; j" f4 u4 X6 e; O, O四:用户可以随意修改源码if判断加入自己的message。 A3 M& ^/ t% d5 K) K& C& U5 M
代码展示:( r: m& p* J. [/ k
WebServiceClient.java
: T# Z/ Q/ U( L9 i/ I- /**
, E, Z2 c- ]/ l# K; p6 e3 e - * Copyright (c) 2010-2013 by 科帮网/ p) X' I: p+ J* ?" ^1 c
- * All rights reserved.. p9 `' @' b; p' z: P
- */) z9 S4 c) m8 j' N: z4 i7 x
- package webService.client;
( ?- ~3 s; Z' M( @
3 H# {. U+ n7 T- import java.util.ResourceBundle; }* M$ L4 M; }4 J
- " K* q5 p6 [* _: U5 T
- import javax.xml.namespace.QName;' X2 v5 X/ \) V2 }
- 9 p. p7 Z7 O4 a( p( r* G! ]
- import org.apache.axis2.AxisFault;
% m' b. E6 U- i/ j& t# H" V* | - import org.apache.axis2.addressing.EndpointReference;3 S% ^" }& w0 b
- import org.apache.axis2.client.Options;
! M! j# [% z8 ]' E4 l - import org.apache.axis2.rpc.client.RPCServiceClient;9 r$ r; H, P3 k& {
- 6 X% g( i4 g& e5 D2 ~8 ~3 B
- import util.Constants;
. C% ~) C" x( W* J. r0 W; [ - public class WebServiceClient {+ S6 q1 b" L5 y- R- T0 s9 @1 T# i
- ; g- N6 Z2 M( r0 H
- private static String SERVICE_URL = "";
0 [. j, g) L1 T4 g' a0 f4 H4 k - private static String TARGET_NAMESPACE = "";
8 [: i8 |" ^9 G - . W2 b3 b Y2 X3 ~
- static{7 o! o3 n, n$ e. L8 G _. Z* V4 a2 x
- ResourceBundle resource = ResourceBundle.getBundle("config");; y6 a6 y$ u- K! l+ W% Y
- SERVICE_URL = resource.getString(Constants.SSO_SERVICE_URL);
" w, X1 |& [8 `$ A* c - TARGET_NAMESPACE = resource.getString(Constants.SSO_TARGET_NAMESPACE);+ L- C6 ~/ I# a, @: C
- }& }! ]) J! o1 s7 ]
- private static RPCServiceClient initClient(String serviceUrl) throws AxisFault{
3 v- m* h- Z/ b# S - EndpointReference targetEPR = new EndpointReference(serviceUrl);; B0 o% p2 q3 Y2 o2 _$ V) }
- RPCServiceClient sender = new RPCServiceClient();# Q. @! F/ P8 z8 m
- Options options = sender.getOptions();. V6 i- J* T: Z1 G/ W7 g
- options.setTimeOutInMilliSeconds(20000L);//超时时间20s, U( Z. h& K, j* N8 H
- options.setTo(targetEPR);
- C/ k/ X( \% p* t - return sender;
3 Z) G( W. h' q% |' Q0 M4 _& ? - }
4 w' [5 C: m0 _. a, Y/ K6 ]& M - public String listSchoolGroup(String text) throws AxisFault{
# u0 W1 |" t5 X7 Q$ x7 T- o, y - RPCServiceClient sender = initClient(SERVICE_URL);) }! y& P f# Q
- QName qname = new QName(TARGET_NAMESPACE, "getMessage");
( ^7 F: G" o0 g Z7 P4 { - Object[] param = new Object[]{text};3 H, v( t! P! w- O9 z
- Class[] types = new Class[]{String.class};) b9 V0 b/ E3 K: H
- Object[] response = sender.invokeBlocking(qname, param, types);
& X. {2 j1 z i7 H2 C% V - String result = (String)response[0];! a; |7 |, p4 H
- return result;5 Q2 G7 a2 Q8 J8 F7 |6 w# S5 e
- }
5 u0 Y7 L5 P" Y: C - }, c3 |7 d ~! P( R% f& j5 Q3 n
复制代码 WSServer.java
7 s0 e/ Y% I9 D# C- package webService.server;
+ h9 |* k2 t$ q# J& G6 N, B
7 E7 p4 ` c$ A/ F0 W; t' C- import util.Constants;4 u3 H( c* b! g. G& S
- import util.Qq;+ n' _1 E3 R) B1 F3 G' t# B4 x
- import util.SimsimiTools;+ R" g7 O( `% G' j$ H
- import util.Weather;) ^- U8 z' U( M! S6 D
7 z+ z! e% D* t* i3 l2 a" u- public class WSServer {) i8 F7 {6 z# H" o* u
- public String getMessage(String text) throws Exception{ N, `: \" I- N# b8 T, l# y
- String message ="";5 w5 r k" l4 O; k5 ~
- if(text.startsWith("#")){
0 V' J0 L4 k# U; W2 n: d - String str = text.substring(1, 3);
* d) e: a+ N2 ^( @: e: F - if(Constants.WEATHER.equals(str)){
S* }, V$ u) O2 W- }, E q* r - //天气查询
9 W' N K T6 v9 Y8 ]7 n5 ~7 W - String cityName = text.substring(3, text.length());
; r+ o$ Q6 C# i$ P2 y* U - message = Weather.Weather(cityName.trim());
$ t5 U* D" ~( G# @1 v - }else if(Constants.YUANMA.equals(str)){
2 j/ O( H+ S% v- x k - message = "源码网 http://www.52itstyle.top";/ q. @! I5 x" P3 ^) j4 X. }
- }else if("QQ".equalsIgnoreCase(str)){
5 L x6 W% ?. r& [ - //QQ吉凶查询- x" l/ U9 E0 o
- String qq = text.substring(3, text.length());
~1 Z" r: G( B: l - message = Qq.qq(qq.trim());; G& Z! V: v+ R/ f" O w
- }else{* X5 m( F7 f7 ?+ Z1 q& x& O# R/ [ p
- //小黄鸡
$ Z, Q7 D. Y: i - message = SimsimiTools.getSimsimiContentByNiuren(text.substring(1, text.length()));! t i% {9 q L, m. p6 R
- }) \$ i+ N! A8 O( K
- }else{
/ X. e3 B' E& {" D0 z! {1 [5 A - if(text.contains("QQ")||text.contains("qq")){: D: C# u5 F- u5 q
- message = "QQ号码吉凶查询格式 #QQ+你的QQ号";% R( e* B3 G2 \" o+ Z& k" Q: j
- }
# f2 C2 ^) u, {# p. s8 I - if(text.contains("天气")){# _; n+ B* J& I6 H7 \7 g b2 q1 r
- message = "天气查询格式 #天气+你所在城市";" I6 S4 B& `7 k+ J
- }
" e9 u F- Z+ ~; N - }! s3 T* @% R& m6 ~
- return message;6 i+ T& d! d5 [: u
- }8 C, ?# S. n& y0 ~! g- B
- }) j* w# ^, E, W3 A2 R
复制代码
B1 x! {0 v4 ^2 W5 V5 y项目源码下载地址:java版QQ机器人调用接口源码5 _3 W2 U$ K! }1 j) [; Q6 H
+ |& _% N0 F! ^( m# L+ p; w+ @0 m% n6 I9 _; W. q% S, f
- Q5 O, I3 G. K# q4 y y
|
|