|
- --来自代码手册
& {- X" n2 D. H3 W# n2 a - --企鹅君Robin
8 x3 `& p4 D; G( W% Y
( b! i6 |1 a- p- W- require "import"
4 v. `% u7 X) I* C - import "android.app.*"& U5 t* `( L6 g1 l
- import "android.os.*"
* [% f: c7 x6 O/ \7 m7 t2 L - import "android.widget.*"
& m5 }$ ]5 A4 @! W - import "android.view.*"7 n9 Y0 @) [, g0 v! k3 m* ^
- layout={
+ f' \6 ^* J3 F* B$ s! T# ]7 x - LinearLayout;: a' z0 P( r6 u8 D3 H
- layout_height="fill";
$ C: ]' ^* q9 a6 T8 L2 ~ - orientation="vertical";
' Q) H# D+ j* d; A# i8 p - layout_width="fill";
1 N- C( P6 R9 J0 F' O ?; D - {5 D" w: |) G# L$ s5 M: G" l0 N
- Button;; P$ _. n7 ` U5 i* _) w2 R
- text="点击开始嗅探";0 y- \! L% T4 T9 H6 ^* F' S
- id="bt";
" P5 K& Z6 w8 m$ Y. G" v5 L: Q - layout_gravity="center";
! r+ ]9 t7 z {2 p+ N' g3 K$ l - };
( ^: B4 |; h7 J5 ]: F5 G* b. w - {
$ ^ v; W1 |; N- M k: ? - LuaWebView;/ Q" ]; ~1 P+ z6 `
- layout_width="match_parent";5 S, J4 T4 Y/ L# o& s
- id="webView2";
* d2 ?. `. P K q c9 K, v - layout_height="50%h";
% r( M% m; d0 U( t5 P X - Visibility="2";
6 d- y+ j# D+ P. n/ Z9 @& Z - };
& l; V8 J7 c7 J; }$ f# o, f - {
* [8 S( `# h7 W0 ]9 o" W - TextView;
4 \ Q7 S0 e$ j- I6 n0 ^) ?9 Q: _ - id="txt";, _, p5 g) G' o: \
- layout_width="match_parent";$ `2 V6 o. E! d; P. {% a* b2 g G% o
- };
" L v, f: x4 l$ [ - {3 M- k. c" s) d7 @! o! U' H. S! T
- ListView;
. _9 U6 F! v) P( N0 H* N+ \ - id="lv";2 L7 U/ j* a. u5 i: O3 K
- layout_height="match_parent";
5 O8 b! B5 M2 W, Y2 v0 `( j/ u z - layout_width="match_parent";' l0 J* C! w1 |$ `/ r8 q) u" K
- };: \' J6 r- a( F
- };& b4 Q* w9 |9 ?1 P) p: _
8 U- ?4 y% _% K% u1 v1 ?/ E, t- n t) W& e" ?8 @( f" {
- activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--设置md主题3 ^7 X& x h# S5 Y- v4 F' d; v
- --activity.setTheme(R.AndLua1)
2 Y1 |" x: ^* H8 v - activity.setTitle("资源嗅探")% }. o% r+ h) s8 x5 ^7 v
- activity.setContentView(loadlayout(layout))1 v7 N6 ~$ t6 s
- ( I/ Q! v7 k, L- D+ ^
- ^3 Y: q0 s& F( S+ v
- H8 @8 ~6 h& Y- import "android.content.Intent"
4 s. q. F) s; G0 f; `/ n8 W+ q - import "android.net.Uri"
# B# B/ U5 y! Y! W5 r
7 o3 E3 w& c4 t. P) a4 l. d) w- --urr="https://m.iqiyi.com/v_19rre7wlpk.html": k, _9 Y# t0 n' t( S3 ~0 f
- / i$ w% ?! b/ b
- item={ t$ x$ C7 C% F* }* w4 j
- LinearLayout;
0 y P( N) E. f) g, m - orientation="vertical";4 L" H% w7 f7 h2 N
- {' H5 y4 ~& W c. n4 a
- TextView;
3 J6 Z# w' f# |$ h! W - id="tx";3 g% {" p c X/ l
- layout_width="match_parent";- y, `' I8 k9 d6 {1 n
- };
e& [. N! {* E5 R* ` - };
* I- Y1 f/ R* d3 d - 8 }3 r5 N9 ?7 f( ]$ @) w/ V; q& t
- + Q' q1 W. b& l. i. U$ [
- data={}/ H, P. l# I: k+ n1 U4 G! K
- adp=LuaAdapter(activity,data,item)
4 p L9 {+ T& A7 S) |0 c4 H D# g - lv.Adapter=adp# H) A& F3 J: f
3 \/ M- ]+ d/ D' \) Z! ?- ) i" l& [/ `# @/ }% X G$ W
% K% M9 h7 N- U/ u& d( _- bt.onClick=function
$ W& |* l. L% r0 k - adp.clear()
" l- P8 ^* \5 P" o0 T J - / E+ d7 g/ l5 u0 ^0 ?+ ?
- InputLayout={$ t' T; a9 I9 y4 C1 T
- LinearLayout;
5 c3 H% h9 X3 }* _/ y - orientation="vertical";) [0 l! A& B1 Q% }. ?
- Focusable=true,
% C1 ~! `# F! x3 f2 Q& Z - FocusableInTouchMode=true,
& y& ?3 ^6 p- @4 }& @( v- i - 7 U, p _1 s( A% {7 j
- 9 G) v6 H3 r( W0 Q* t! s, h
- {
" C$ W5 c3 y9 X4 w - EditText;# |8 L% G& g$ d( p) f# ]' p
- text="http://okjx.cc/?url=https://m.v.qq.com/x/cover/z/zr5a67l333ehzu9.html";: ?7 \# R( B. T: D( z
- hint="输入需要嗅探的链接";1 D/ w0 n3 C) U+ E7 J; ]
- layout_marginTop="5dp";
0 C- G' Q& q: v4 q1 O+ `3 B - layout_width="80%w";
. w- G) ^$ V1 \* J - layout_gravity="center",
- P- @. B7 F& u* o+ N3 A - id="ed1";: H" U. l) i6 Z$ O" Z3 m
- };
: R' ~* D# J; r- A' }$ o" F, L: P - {$ f( k7 j! H/ R; Q
- TextView;; q2 Y, p: g' o: p; M9 |
- text="部分链接需要网页加载完成才能嗅探出,如视频";. n5 m a1 C' N$ a$ y# R) h' v/ N
- layout_width="match_parent";
5 x4 i; S9 Y1 q1 a9 | - };$ n" }6 u/ ^5 ]% `
7 X8 e# c" ~" R- };
: [% |6 l& D" l, k& ? - 0 c. m5 d' F& K7 \. s
- AlertDialog.Builder(this)
- R2 c9 E: U: ?( y - .setTitle("需要嗅探的链接")
- ?2 V, j7 ~1 U - .setView(loadlayout(InputLayout))
: s7 k b6 w. H8 i+ t1 C3 V - .setPositiveButton("确定",{onClick=function(v). [* Q! q7 J* x
- " }1 x. Z! K* H2 q
- n=0
$ C5 r9 r, _, k9 v - webView2.loadUrl(ed1.Text)7 X* G! G# o& l# |, V f9 W; H
- webView2.setWebViewClient{
; s: a6 E2 \8 s - / Q; N& l4 U: g7 [
- onLoadResource=function(view,url)# q, ]' f- N5 A2 y! P8 ?) I H
- ) g0 B7 o d, N; q& k5 b- ?2 f4 A" n
- if (url:find'm3u8')or (url:find'mp4') then--嗅探关键词,可自行添加
! \( W; g. c* c" Z4 n - -- webView2.stopLoading()
7 ~2 ^2 C1 ~) S) m - adp.add{tx=url}
- V! W+ b+ H" @& g - n=n+1
8 W& {- S8 P4 v/ ^* s/ ?3 j" G1 ~6 \ - txt.setText("已嗅探到"..tostring(n).."条视频链接")+ B, o$ r- b/ T9 x; q
- end
1 n3 b# N( ?1 ^3 [- c, r - end }
7 o2 v& J! F* w% g( V, a- o( y
1 T+ q2 [ N. S) {3 j
# I8 @/ g5 X' l P4 ^$ g$ R
' q: Q- G3 l4 S; D- end})
# z4 H- _+ V% l: f: J4 @ - .setNegativeButton("取消",nil)( a9 I7 V$ B' h6 w0 H
- .show()
) ]5 I- D) j/ l- d& ~( I
7 M& L" V4 Z5 |, b$ B+ B
+ t- f5 j1 M, p5 }- 5 o6 @- w" h C# |/ a
- end
. P- Y( _. J2 F+ x4 {3 {! k
3 H; w# H! y8 h) f' k- H) n) E
1 b# X6 _; I8 Y; H$ `8 L; ? x- import "android.content.Context"5 d. ` p$ W3 i: r0 E+ H; }
- lv.onItemClick=function(l,v,p,i)0 t7 R4 N1 ?+ |7 o3 u. H
- url=v.Tag.tx.Text# m$ M- ?$ I0 S& a, P
- activity.getSystemService(Context.CLIPBOARD_SERVICE).setText(url)
; ~" @+ O# d3 k% ? - import "android.content.Intent"
# @: J7 l' ?* X7 C" E - import "android.net.Uri"4 @! ?% g5 a$ C' C+ G# E& n9 u" M
- viewIntent = Intent("android.intent.action.VIEW",Uri.parse(url))" |: g8 I# p9 y) R& _ D
- activity.startActivity(viewIntent), N1 F! F- v' {7 P5 W* f9 m4 q* Q
- return true
* n! B6 g% S3 H1 ]/ C - end
- u1 `' j( c9 K4 A: J3 a - ! a" v! {- [ H+ o ]
/ h( Z! w: n9 b8 }4 j, K- 6 c1 G+ D6 b1 u% T2 h
- 7 a4 ~" p j8 x$ f8 U1 L$ z
复制代码 |
|