AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G需要代理IP?⚡️Proxysites.ai⚡️指纹浏览器,就用AdsPower
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
FB BM不限额,短id账单户E.PN 虚拟卡DuoPlus专注打造跨境电商云手机BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户9Proxy ⚡️ $0.04/IP, 无限带宽
IPCola原生住宅IP⚡️$1.8/条双ISPGoogle、Bing官方总代  联盟流量开户fb耐用号0.01一个fb账号官方合作商
FB资源,账单户,分享户,国内一手FB企业户BM户账单户源头收FB代投工作室,收TrafficFactory账号IPWO全球住宅代理⚡️免费测试⚡️
FB海外三不限-户源多 费率低PTM全球虚拟卡—进来交个朋友!PTM虚拟卡⚡️费率透明⚡️额度随心FB虚拟卡⚡️消费越多返现越多
广告位出租虚拟卡返佣1%,国内持牌机构  
查看: 9962|回复: 7

模拟点击 验证码识别 全后台 youtube订阅

[复制链接]

6

主题

303

广告币

310

积分

初级会员

Rank: 2

积分
310
发表于 2018-8-28 13:34:29 | 显示全部楼层 |阅读模式
Lemft
本帖最后由 xiaoxue 于 2021-3-10 09:21 编辑 , P0 t' d- c1 S
/ ]! ?$ y* |/ @( Q9 d

( o4 D5 G; ?8 C5 H+ w: F/ f
  1. ; c  j  R5 Q7 P- t; H
  2. # -*- coding: utf-8 -*-/ s  m9 R- o  h' c* L! o) S# H

  3. , D9 P; S$ C/ x  B) G! f" r
  4. from aip import AipOcr" U/ t: p. ?3 }. i' i# b' l& ^

  5. $ P' `! A0 I0 w& A) f" }# Q
  6. from selenium import webdriver
    $ t- @0 k' v' H5 }, v+ Y3 B$ [
  7. ; s+ j: T( W  m8 o
  8. import time& ?9 V, [: r9 _8 ]1 N; j4 T
  9. 4 q* q# q4 K1 a5 F
  10. import random# C3 z* G' _7 L( s* Z1 ~

  11. 2 s8 L& N5 B# a% S7 s* R
  12. import sys,re
    . r, n8 j. b" R; b
  13. 2 }! z" c% E5 G; J8 e- h" L( E+ i
  14. from PIL import Image, ImageDraw,ImageFont- o# t; U$ ]) D4 Y; x

  15. ( l! l& O) f7 P7 l$ Z$ I
  16. """ 你的 APPID AK SK """, N0 @- `# ?9 K& V
  17. 3 j6 `* I: d) G& i3 ^7 E$ M
  18. APP_ID = 'xxx'
    ; O8 Z4 k) X8 W  D8 `) S: n

  19. 2 d& R6 S0 D$ n0 z. {+ j* \
  20. API_KEY = 'xxx'" [( |+ E- q% d' F' C# @

  21. - R; m+ B) U- E
  22. SECRET_KEY = xxx'
    ) {( B) `) U( M% b- i6 {& \
  23. , T* f( f2 {; G! v: |
  24. client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    * f  {8 Z" w2 P& _) W( s9 F

  25. 5 _& E- u" g7 ?5 g3 K
  26. #PROXY = "127.0.0.1:8118"4 _$ E5 @, E/ u: {$ q; ]$ z
  27. 1 M: u5 N7 M( K' B; d, ]' g9 H
  28. chrome_options = webdriver.ChromeOptions()
    * B5 T+ k  L& g& h# K9 ?0 R
  29. , o: b$ U4 i$ ]. }
  30. chrome_options.add_argument('--headless')8 C; I3 k6 Z  H2 G# j( B1 w# l

  31. ' y" c) p6 O/ T3 T& a/ y( w/ \
  32. chrome_options.add_argument('--disable-gpu')
    / ]' Q! M6 R9 x* \" W6 X( l( x

  33. ) J( D$ l! J1 x3 v
  34. #chrome_options.add_argument('--proxy-server=%s' % PROXY)8 S+ M( ~6 r0 B4 r& @

  35. % d4 W1 ]0 h+ y# G5 \- I  B7 q
  36. chrome_options.add_argument("--incognito")
    9 Z' B( [: ]& g9 W" y
  37. % m* u$ m2 B$ _) S
  38. chrome_options.add_argument('--ignore-certificate-errors')
    # Y- ]% N1 M4 @" e. [* }

  39. ; x* Q( K5 Y& Y6 w& N/ O
  40. # Win
    0 @" |) R: h* _! l3 P

  41. 5 j; S* X- m$ y, Z9 Y) @
  42. # chrome_options.add_argument("--log-level=3")" c/ v6 o% U& P8 d7 Y. a$ E
  43. ; Y, A' V8 S( W. c  E2 |
  44. # chrome_options.add_argument("--disable-logging")
    $ y! y8 T3 i5 n

  45. # `* ]4 c- L2 I/ i, }6 L3 B
  46. # chrome_options.add_argument("--disable-logging")
    8 d4 b2 y, v3 h3 E2 y
  47. 9 B, N$ Z* G; b& }; n  ~
  48. #chrome_options.add_argument('--no-sandbox')4 p, P5 Z# ^8 B! |- O/ s. P

  49. . b" Y1 Z) y6 r1 r4 r( D
  50. """ 读取图片 """" Y4 T4 t' z+ N6 h2 m: H" f
  51. 6 f% U# v" X2 W. I: {0 J  x$ b0 @2 [
  52. def get_file_content(filePath):$ }2 `. @# }# A; W
  53. ! T' C6 ?/ |  r3 F
  54. with open(filePath, 'rb') as fp:
    2 q. S* s( R/ R" o  I( t' V: F

  55. ' ~: e- h- I: ^# w# j0 z
  56. return fp.read()
    + {2 ?0 I" R/ X( l( m! ^

  57. 8 o4 F8 Q  j% C6 k
  58. driver = webdriver.Chrome('~/chromedriver',chrome_options=chrome_options)
    ( m* S. ?# r1 y3 a6 h2 c7 f. L
  59. $ {7 j* d6 R2 ~
  60. driver.set_window_size(1280, 727)+ Q2 {7 }2 ^# M' U' Q: X2 p; k2 |

  61. ! `9 g! r$ D$ v! ^
  62. driver.get("https://youlikehits.com/")
    4 ~' P0 P: ]2 s5 ~0 |
  63. 3 S% n, b/ a5 ?: h* x4 [3 ?
  64. time.sleep(5)6 p6 o. ]3 }# k! |( F( l- M$ p- }( b) W
  65. 2 q) O' l; a. W
  66. driver.find_element_by_id("username").send_keys('11111') #user
    : D) E1 i: B0 D& a4 x0 u: O

  67. $ r" v) `3 E# o; S5 e: \
  68. driver.find_element_by_id("password").send_keys('111111') #password
    / r+ i% B! A1 H5 [+ g9 `# Y, |$ _  g

  69. 8 x, F& v8 r9 M+ \: h3 H
  70. driver.find_element_by_xpath("//input[@value='Login']").click()
    5 L+ v9 X7 N+ e9 _9 F0 M: r

  71. 3 d6 {/ \2 W- [
  72. driver.get("https://youlikehits.com/youtubenew2.php")
    & \  u$ Z2 C6 T3 X- F
  73. $ |' R+ d0 K$ |. G" C$ k" e
  74. time.sleep(1)
    # i, ~! J) n7 d
  75. * ^% Q( l# {7 |8 X! s' c
  76. #Try Again; N  P- p/ B* Q. c# w
  77. % S4 D3 O9 l: ]3 G" q
  78. def checkRefresh(driver):
    2 T# a2 ~2 s5 n9 F

  79. 7 e" d/ J7 S/ ?5 J
  80.         try:+ A& R0 Y( K- i  F: m: o

  81. 0 r8 ~. A9 }) Z& n
  82.                 Refresh = driver.find_element_by_id('loadmore')
    % \% i( y! ^, w; d6 c" J
  83. 5 j1 G6 ]" X. F% y- {) ?, ]
  84.                 Refresh.click()% n$ @8 P7 A1 c1 X7 u8 I7 x; G3 l1 h

  85. 6 o; y. F* P/ l, v1 c; T
  86.                 driver.set_window_size(1280, 727)
    0 F; e2 ], r# y6 ~: [: V2 U

  87. 3 A  Q5 T7 o5 A3 k  o. h! C
  88.         except Exception as e:
    : H5 ^- r3 P) Y/ P' p% Q$ x6 R

  89. 4 h) T7 T8 z- J0 P3 o" K
  90.                 pass# L8 ]- l0 G5 w* p- _8 p9 k& P
  91. ) o8 P/ V# m8 b6 L8 `" H/ `/ g5 G) n; t
  92. def checkcaptcha(driver):
    6 D' Q( n5 Q+ b7 s3 @- D

  93. 3 F6 _% R$ ]6 E& g/ [+ o
  94.         try:
    * G; Z8 |5 i0 S- C, l( X
  95. - g4 J$ ]# t/ Y  K" @! F" @
  96.                 captcha = driver.find_element_by_id('captcha')
    $ S4 B4 d5 O* @& X
  97.   _, T- e+ R4 f( i1 _8 z/ {$ [
  98.                 print driver.get_window_size()+ ^* i5 A* A/ @/ T( R

  99. 2 E9 p2 C- g; g1 e" [
  100.                 time.sleep(2)
    8 m, H5 v9 h3 X0 V( @% L

  101. " }/ ~- ]1 \9 f+ p2 Q( m; |) \, t
  102.                 driver.save_screenshot('/tmp/screenshot.png')8 I1 _" n* n' s) U
  103. 2 x$ x6 q0 l8 f0 p+ {
  104.                 im = Image.open('/tmp/screenshot.png')
    * X8 X5 y  K2 E) O% {! z! N" A7 ^
  105. / u" u0 n6 u  v
  106.                 #取消headless模式
    + I. k6 X2 R  {" L9 P. ?" n+ R

  107. : x) d3 I" ^2 o2 H/ u; s
  108.                 #a = im.resize((1269, 610),Image.ANTIALIAS). i1 F8 q- W! D' Z# ^6 [8 Z- ^

  109. 1 V! ?3 y) T: l
  110.                
    " H  Y) f4 r! V; S

  111. ' \) |3 Y! x7 w; z, E. ]7 j
  112.                 #开启headless模式
    " j  E: @, A/ ?/ v

  113. 4 T8 O& [. b8 y9 f. a
  114.                 a = im.resize((1269, 727),Image.ANTIALIAS)5 U/ N/ i" Y" b  u

  115. 9 L- W8 c. e( d( \
  116.                 element = driver.find_element_by_xpath("//div['#captcha']//img[@src='captchayt.php']")
    ! J" q+ N/ i9 c$ b' O& l; J
  117. 2 O8 X) D6 f# @9 D# ?6 ?0 {
  118.                 left = element.location['x']
    + R9 }. s  S9 }6 W

  119. ' p/ M3 l7 x/ M
  120.                 top = element.location['y'], G2 X: `5 M8 [8 D6 y- F

  121. ' E0 a$ U  y; ~4 c. ]& X$ f
  122.                 right = element.location['x'] + element.size['width']5 c8 |1 f! \& d% G  t

  123. + |' y  V' j& ]% i0 Z" s* p  q4 l
  124.                 bottom = element.location['y'] + element.size['height']
    ; j0 n7 g; L# |- V# ^( Q# Q+ ]
  125. * B  B# _( F0 a! P- c% F6 }. D$ k$ `
  126.                 1 @6 n3 |1 S2 c2 f$ l; e  p

  127. ( Y2 A1 i1 W9 {" r/ m' }
  128.                 #element = driver.find_element_by_xpath("//div['#captcha']//img")
    * K& t! P" ~' f# ~* e: A1 y
  129. 7 g1 y' D# |. Q# Y9 W: \. D2 A
  130.                 #driver.find_element_by_xpath("//div['#captcha']//img[@src='captchayt.php']").get_attribute("src")
    ' P/ p5 A# d. w  |9 {& g

  131. ! a0 I# c$ {( w, h" u1 n/ N, U9 L
  132.                 element = driver.find_element_by_xpath("//div['#captcha']//img[@src='captchayt.php']")# ], P8 Z' U6 B; C& L, E

  133. 2 w  s" u4 ]) G! q5 a: ^; e
  134.                 a.crop((left, top, right, bottom)).save('/tmp/screenshot1.png')* _* X  C' }8 T, N9 U. I6 z! i
  135.   {6 w+ H. H" N/ v- D. Q# e* G7 t
  136.                 image = get_file_content('/tmp/screenshot1.png')
    , I& [) w5 g/ N* }; V

  137. $ W% ^) `! B; k, u, A8 n
  138.                 a = client.basicGeneral(image)/ K7 W4 H! Y5 C1 R& n* L2 ~4 y
  139. 8 ~- |9 G* }% P) F8 N% ^( f  P
  140.                 print a
    1 s& w9 U) u+ q* P7 k2 v

  141. 4 X- M1 W& Y; r! u! N9 q
  142.                 yzm = re.sub(r'\xd7',r'*',a['words_result'][0]['words'])2 o1 ~; M7 |3 x. \, T( o* \; r

  143. $ h$ a1 a' d+ L+ c* t6 ^2 {! H
  144.                 yzm = re.sub(r'\xf7',r'/',yzm)( X" w0 r- K( R; t: F/ n! i/ w2 \

  145. ( A) L# K' S4 z$ U; M3 e
  146.                 yzm = re.sub(r'x',r'*',yzm); g3 l! H+ C& k( G& ?( ?' W7 U

  147. 1 t2 Y, b# h8 K; ]% y5 M& r
  148.                 yzm = re.sub(r'X',r'*',yzm)
    , e( p( G  f4 R) m+ i

  149. & O. b( ^% f$ ?5 x
  150.                 yzm = eval(yzm)2 Z9 m: w# v, \/ [* g: d% J

  151. ' v0 }, A8 U4 ]0 q. `% `- X
  152.                 #yzm = eval(yzm.replace('x','*').replace('÷','/'))
      r& R, A  d4 R3 E! N

  153. % ^0 g! V) Y, B* n8 w
  154.                 print '验证码: ' + str(yzm)
    9 @# Q" {3 C+ {$ u! D0 T! k% y7 Z+ Q

  155. 0 R  Y+ D  i3 g; m0 x
  156.                 driver.find_element_by_name('answer').send_keys(yzm); g4 L+ l3 y* v0 ~# x  w

  157. # h$ g" A; {' E+ J
  158.                 driver.find_element_by_name('submit').click()9 @  ^/ z' X2 z) B2 E1 a1 W4 j! C; S2 z

  159.   t: ^/ `. ?: w* E9 U
  160.                 time.sleep(3)# f5 x  p9 }% @+ l
  161. ; t) H5 m% V6 I" V; s
  162.                 return 1) H, t/ A; d- ?) ?

  163. 5 O. n0 _1 V, o$ ]* A
  164.         except Exception as e:
    , y! Q9 J% o3 z
  165.   m3 ]  N0 j: F+ i, B7 ]
  166.                 return 0/ _2 Q7 B' @3 f/ [$ C# c" ^
  167. ) n$ P- Q: \0 w+ J7 l& _4 U( ^
  168. def followbutton(driver):& a4 k2 p8 C+ d: L* f3 q

  169. 7 p- @# q2 T1 {& {8 @) ^( H
  170.         try:
    . @7 X5 I- L* X& C
  171. 2 V7 M% m. `* Y
  172.                 driver.switch_to_window(driver.window_handles[0])
    5 D2 j( v# e. D8 T" Z# S) l& O
  173. / ]! U7 [) h5 y
  174.                 points = driver.find_element_by_id("currentpoints").text
    / K' o/ v3 R# W' u% F% c% T

  175. / A. E1 U# K1 f; k8 _7 U! O
  176.                 driver.execute_script('return document.querySelector("a[class=followbutton]")').click()9 M5 {- |! v  n
  177. ) I* T* o& G8 q: S& f
  178.                 driver.switch_to_window(driver.window_handles[1])( v3 ~5 k* w1 A* e5 f
  179. . T) u: J. l+ Q$ Z
  180.                 VideoSource = ''.join(driver.page_source.split()); V7 |8 U  \. s* L& L4 D) ~

  181. 3 W. e/ a% N5 T/ E% `
  182.                 if VideoSource.find("This") < 100 and VideoSource.find("This") >= 0:$ v3 w& Q0 A0 I" X: I
  183. * D: H& t( i% E" B) Q
  184.                         print VideoSource* X8 \, h, c! y7 ?+ \9 N

  185. . ^9 L8 I8 G7 ]: c2 e' e$ T. {- b
  186.                         driver.switch_to_window(driver.window_handles[0])
    $ y8 S3 }9 `/ h, R
  187. ' z% ~, @. j( A8 H) t* w2 p( U
  188.                         print "Refresh..."
    ' N2 k0 m5 p4 N; o1 i
  189. % }: X1 C, S( q0 c4 z
  190.                         driver.get("https://youlikehits.com/youtubenew2.php")
    6 W: F4 l# ], M. Z+ o

  191.   B5 |( A  C! J% u5 p
  192.                         time.sleep(1)
    . T) M* j1 E% }% b" b/ w. |/ Z
  193. , x! Q6 O$ W" u+ H% ~
  194.                 return points4 i$ ^: T3 m+ T) S  r- \
  195. " i4 w  S0 L! G/ K
  196.         except Exception as e:/ j' J# R6 z7 [9 w+ K8 t6 S5 J7 L$ [$ ^

  197. 0 |5 L$ _, v' c8 g4 l2 P9 I9 T
  198.                 return 0
    ( ?  b8 v5 W& _& S1 I. J# W
  199.   `3 _8 t* x* v5 c3 s. j
  200. for i in range(0,5000):/ Z' s; K3 R( M, N- B' P

  201. " d) Z! U( ]1 r9 Y
  202.         try:1 j" h' ^7 U; m% m# y4 Z, R; R

  203. ) ~0 z" u( Y7 F& ~: t
  204.                 captcha = checkcaptcha(driver)
    ) j8 m; b3 _# q# i2 q' E
  205. 3 z0 }, C$ ]/ [0 i2 o
  206.                 time.sleep(1)
    ) P! }1 R6 X) a8 W- F, z! `0 @" C( @
  207. * E% K7 g! ?) {; m) W% J  v: V
  208.                 checkRefresh(driver)- c  G0 e4 t0 l$ m% A! R% `
  209. $ R- w9 N8 N6 Y7 Z# G
  210.                 points = followbutton(driver)- l9 B5 o0 p7 F: D( u0 K7 Z0 c; |+ W$ i

  211. 9 Y0 X0 ?5 Y" _3 ]* y
  212.                 time.sleep(65)& I6 C$ |2 q2 L! J
  213. 8 N- I- y) s: @! J3 o. G% O; Q
  214.                 driver.switch_to_window(driver.window_handles[0])% W4 ]: c& r7 L

  215. 8 P" s# o: t1 y) |: Y
  216.                 tmpp = driver.find_element_by_id("currentpoints").text: X$ Z, g8 X" x$ T$ W

  217. * \. @, w+ m; n
  218.                 print "points: " + str(tmpp)
    + F! E+ G* |/ [1 r* q+ s$ Z

  219. 1 k6 o1 `5 c6 U3 d* Q' C6 Y
  220.                 if points == tmpp:
    # P: P8 K0 X4 X4 Q  p
  221. 8 i; e) P  j, s- U) P; I
  222.                         print "Refresh..."5 u3 V$ Z: J5 z: g

  223. ; s! p0 [; V3 p) @% y( r
  224.                         driver.get("https://youlikehits.com/youtubenew2.php")
    + D, L2 ~$ R! |8 x
  225. . j7 |$ V9 B/ }) Z
  226.                         time.sleep(5)4 G* t: w! i* V
  227. 3 x2 Z5 @. ?* D' V
  228.         except Exception as e:2 p/ G2 t% ?3 v4 ~4 e' C

  229. $ Z6 t; P  U& y1 |" n/ F
  230.                 driver.get("https://youlikehits.com/youtubenew2.php")# x1 a% d. w% D2 G& i' y
  231. 1 y  J8 S8 _. L8 z
  232.                 print 'error: ' + str(e)  i2 E; L7 W4 ?5 C
  233. 4 |) ~2 a+ k  W4 q" u) v0 w
  234. driver.quit()
      C' k( d1 }: f: v
复制代码
: V% L* g: x0 ]7 z# G) g: ]' W
* ?2 W/ O$ M6 t3 T1 s1 j) K; {
  _8 E& Q2 f8 C- J, I1 g
因为headless ,可以挂在vps上跑。。 百度识别验证码正确率还是满高的。
. t9 K2 V& z3 p( w3 N
9 c' B6 z/ Z& k+ v3 D/ G+ u8 O

评分

参与人数 1广告币 +20 收起 理由
小白龙 + 20

查看全部评分

相关帖子
回复

使用道具 举报

2

主题

25

广告币

80

积分

初级会员

Rank: 2

积分
80

社区QQ达人

发表于 2018-8-29 06:59:13 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

32

广告币

102

积分

初级会员

Rank: 2

积分
102

社区QQ达人

发表于 2018-8-30 10:17:14 | 显示全部楼层
跟我写的几乎一样,我也是百度验证码识别的,建议可以增加cookies保存和读取功能,省得每次都的输入,用户名和密码。他家是可以用cookies保持登录状态的。
回复 支持 反对

使用道具 举报

20

主题

36

广告币

255

积分

初级会员

Rank: 2

积分
255
发表于 2018-9-1 10:16:57 | 显示全部楼层
自动在https://youlikehits.com/ 点击么?
回复 支持 反对

使用道具 举报

2

主题

171

广告币

253

积分

初级会员

Rank: 2

积分
253

社区QQ达人

发表于 2018-9-1 20:51:05 来自手机 | 显示全部楼层
大佬太哇塞
回复 支持 反对

使用道具 举报

9

主题

986

广告币

1483

积分

高级会员

Rank: 4

积分
1483

社区QQ达人

发表于 2018-10-11 00:42:08 | 显示全部楼层
自学了几天selenium能看懂一小部分了。
回复 支持 反对

使用道具 举报

176

主题

1114

广告币

4172

积分

超级版主

Rank: 8Rank: 8

积分
4172

社区QQ达人

发表于 2018-10-18 15:11:47 | 显示全部楼层
用的是selenium库啊,我最近也写了一个小爬虫也用了selenium+pywin32模拟点击

点评

小批量的还可以,多了实在是舍不得cpu。 并发也是个问题。卡卡的 娱乐还可以。个人观点。。哈哈  详情 回复 发表于 2018-10-19 21:57
缅怀骄阳
此ID(小白龙)仅限在论坛使用,其他平台发生的任何交易纠纷与本人无关,善用搜索远离骗子
回复 支持 反对

使用道具 举报

6

主题

303

广告币

310

积分

初级会员

Rank: 2

积分
310
 楼主| 发表于 2018-10-19 21:57:02 来自手机 | 显示全部楼层
小白龙 发表于 2018-10-18 15:11( w. c7 i: d  v% b0 I
用的是selenium库啊,我最近也写了一个小爬虫也用了selenium+pywin32模拟点击
2 S. q3 Q, ~- V, D1 I$ o# n
小批量的还可以,多了实在是舍不得cpu。 并发也是个问题。卡卡的 娱乐还可以。个人观点。。哈哈
# L+ R" u, U8 Q# _) G4 |/ r. w+ C0 h3 ^( j
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2025-5-1 19:28 , Processed in 0.056580 second(s), 20 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表