http_test.go 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. package http
  2. import (
  3. "crypto/md5"
  4. "encoding/hex"
  5. "encoding/json"
  6. "errors"
  7. "fmt"
  8. "io/ioutil"
  9. "net/http"
  10. "net/url"
  11. "strconv"
  12. "testing"
  13. "time"
  14. )
  15. const (
  16. _host = "http://127.0.0.1:6214"
  17. _innerHost = "http://127.0.0.1:6214"
  18. )
  19. var (
  20. apply = _host + "/x/dm/protect/apply"
  21. recallURL = _host + "/x/dm/recall"
  22. my = _host + "/x/dm/my/listxml.so"
  23. applyList = _innerHost + "/x/dm/up/protect/apply/list"
  24. videoList = _innerHost + "/x/dm/up/protect/apply/video/list"
  25. applyChangeStatus = _innerHost + "/x/dm/up/protect/apply/status"
  26. applyNoticeSwitch = _innerHost + "/x/dm/up/protect/apply/notice/switch"
  27. )
  28. func TestUpFilter(t *testing.T) {
  29. params := url.Values{}
  30. params.Set("mid", "1")
  31. params.Set("oid", "0")
  32. s := _host + "/x/dm/filter/up?" + params.Encode()
  33. body, err := cget(s)
  34. fmt.Println(string(body))
  35. if err != nil {
  36. t.Errorf("url(%s) error(%s)", s, err)
  37. t.FailNow()
  38. }
  39. if err = ccode(body); err != nil {
  40. t.Fatal(err, string(body))
  41. t.FailNow()
  42. }
  43. }
  44. func TestAddUpFilter(t *testing.T) {
  45. params := url.Values{}
  46. params.Set("mid", "1")
  47. params.Set("oid", "2")
  48. params.Set("filter", "aabbccdd1234567")
  49. params.Set("type", "2")
  50. s := _host + "/x/dm/filter/user/add?" + params.Encode()
  51. body, err := cpost(s)
  52. if err != nil {
  53. t.Errorf("url(%s) error(%s)", s, err)
  54. t.FailNow()
  55. }
  56. if err = ccode(body); err != nil {
  57. t.Fatal(err, string(body))
  58. t.FailNow()
  59. }
  60. fmt.Println(string(body))
  61. }
  62. func TestDelUpFilter1(t *testing.T) {
  63. params := url.Values{}
  64. params.Set("ids", "1554")
  65. s := _host + "/x/dm/filter/user/del?" + params.Encode()
  66. body, err := cpost(s)
  67. if err != nil {
  68. t.Errorf("url(%s) error(%s)", s, err)
  69. t.FailNow()
  70. }
  71. if err = ccode(body); err != nil {
  72. t.Fatal(err, string(body))
  73. t.FailNow()
  74. }
  75. fmt.Println(string(body))
  76. }
  77. func TestAddFilter2(t *testing.T) {
  78. params := url.Values{}
  79. params.Set("filters", "1233432,78439214")
  80. params.Set("type", "2")
  81. params.Set("comment", "reason")
  82. s := _host + "/x/dm/filter/user/add2?" + params.Encode()
  83. body, err := cpost(s)
  84. if err != nil {
  85. t.Errorf("url(%s) error(%s)", s, err)
  86. t.FailNow()
  87. }
  88. if err = ccode(body); err != nil {
  89. t.Fatal(err, string(body))
  90. t.FailNow()
  91. }
  92. fmt.Println(string(body))
  93. }
  94. func TestAddReport(t *testing.T) {
  95. params := url.Values{}
  96. params.Set("dmid", "719923250")
  97. params.Set("cid", "8937277")
  98. params.Set("reason", "1")
  99. s := _host + "/x/dm/report/add?" + params.Encode()
  100. body, err := cpost(s)
  101. if err != nil {
  102. t.Errorf("url(%s) error(%s)", s, err)
  103. t.FailNow()
  104. }
  105. if err = ccode(body); err != nil {
  106. t.Fatal(err, string(body))
  107. t.FailNow()
  108. }
  109. fmt.Println(string(body))
  110. }
  111. func TestAddReport2(t *testing.T) {
  112. params := url.Values{}
  113. params.Set("dmids", "719189659,719189660")
  114. params.Set("cid", "8937185")
  115. params.Set("reason", "1")
  116. s := _host + "/x/dm/report/add2?" + params.Encode()
  117. body, err := cpost(s)
  118. if err != nil {
  119. t.Errorf("url(%s) error(%s)", s, err)
  120. t.FailNow()
  121. }
  122. if err = ccode(body); err != nil {
  123. t.Fatal(err, string(body))
  124. t.FailNow()
  125. }
  126. fmt.Println(string(body))
  127. }
  128. // TestList list
  129. func TestApply(t *testing.T) {
  130. params := url.Values{}
  131. params.Set("cid", "8937277")
  132. params.Set("dmids", "719214016,123")
  133. s := apply + "?" + params.Encode()
  134. body, err := cpost(s)
  135. if err != nil {
  136. t.Errorf("url(%s) error(%s)", s, err)
  137. t.FailNow()
  138. }
  139. if err = ccode(body); err != nil {
  140. t.Fatal(err, string(body))
  141. t.FailNow()
  142. }
  143. fmt.Println(string(body))
  144. }
  145. func TestRecall(t *testing.T) {
  146. params := url.Values{}
  147. params.Set("cid", "8937185")
  148. params.Set("dmid", "719189659")
  149. s := recallURL + "?" + params.Encode()
  150. body, err := cpost(s)
  151. if err != nil {
  152. t.Errorf("url(%s) error(%s)", s, err)
  153. t.FailNow()
  154. }
  155. if err = ccode(body); err != nil {
  156. t.Fatal(err, string(body))
  157. t.FailNow()
  158. }
  159. fmt.Println(string(body))
  160. }
  161. // TestList list
  162. func TestMy(t *testing.T) {
  163. params := url.Values{}
  164. params.Set("cid", "8937277")
  165. s := my + "?" + params.Encode()
  166. body, err := cget(s)
  167. if err != nil {
  168. t.Errorf("url(%s) error(%s)", s, err)
  169. t.FailNow()
  170. }
  171. fmt.Println(string(body))
  172. }
  173. // TestList list
  174. func TestApplyList(t *testing.T) {
  175. var (
  176. s string
  177. body []byte
  178. err error
  179. mh [16]byte
  180. )
  181. params := url.Values{}
  182. params.Set("uid", "15555180")
  183. params.Set("page", "1")
  184. params.Set("appkey", "53e2fa226f5ad348")
  185. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  186. mh = md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  187. params.Set("sign", hex.EncodeToString(mh[:]))
  188. s = applyList + "?" + params.Encode()
  189. body, err = oget(s)
  190. if err != nil {
  191. t.Errorf("url(%s) error(%s)", s, err)
  192. t.FailNow()
  193. }
  194. if err = ccode(body); err != nil {
  195. t.Fatal(err, string(body))
  196. t.FailNow()
  197. }
  198. fmt.Println(string(body))
  199. params.Del("sign")
  200. params.Set("sort", "playtime")
  201. mh = md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  202. params.Set("sign", hex.EncodeToString(mh[:]))
  203. s = applyList + "?" + params.Encode()
  204. body, err = oget(s)
  205. if err != nil {
  206. t.Errorf("url(%s) error(%s)", s, err)
  207. t.FailNow()
  208. }
  209. if err = ccode(body); err != nil {
  210. t.Fatal(err, string(body))
  211. t.FailNow()
  212. }
  213. fmt.Println(string(body))
  214. params.Del("sign")
  215. params.Set("aid", "4052732")
  216. mh = md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  217. params.Set("sign", hex.EncodeToString(mh[:]))
  218. s = applyList + "?" + params.Encode()
  219. body, err = oget(s)
  220. if err != nil {
  221. t.Errorf("url(%s) error(%s)", s, err)
  222. t.FailNow()
  223. }
  224. if err = ccode(body); err != nil {
  225. t.Fatal(err, string(body))
  226. t.FailNow()
  227. }
  228. fmt.Println(string(body))
  229. params.Del("sign")
  230. params.Set("sort", "playtime")
  231. mh = md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  232. params.Set("sign", hex.EncodeToString(mh[:]))
  233. s = applyList + "?" + params.Encode()
  234. body, err = oget(s)
  235. if err != nil {
  236. t.Errorf("url(%s) error(%s)", s, err)
  237. t.FailNow()
  238. }
  239. if err = ccode(body); err != nil {
  240. t.Fatal(err, string(body))
  241. t.FailNow()
  242. }
  243. fmt.Println(string(body))
  244. }
  245. // TesVideoList list
  246. func TestVideoList(t *testing.T) {
  247. params := url.Values{}
  248. params.Set("uid", "15555180")
  249. params.Set("appkey", "53e2fa226f5ad348")
  250. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  251. mh := md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  252. params.Set("sign", hex.EncodeToString(mh[:]))
  253. s := videoList + "?" + params.Encode()
  254. body, err := oget(s)
  255. if err != nil {
  256. t.Errorf("url(%s) error(%s)", s, err)
  257. t.FailNow()
  258. }
  259. if err = ccode(body); err != nil {
  260. t.Fatal(err, string(body))
  261. t.FailNow()
  262. }
  263. fmt.Println(string(body))
  264. }
  265. // TestApplyChangeStatus TestApplyChangeStatus
  266. func TestApplyChangeStatus(t *testing.T) {
  267. params := url.Values{}
  268. params.Set("uid", "15555180")
  269. params.Set("status", "1")
  270. params.Set("ids", "1,2")
  271. params.Set("appkey", "53e2fa226f5ad348")
  272. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  273. mh := md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  274. params.Set("sign", hex.EncodeToString(mh[:]))
  275. s := applyChangeStatus + "?" + params.Encode()
  276. body, err := opost(s)
  277. if err != nil {
  278. t.Errorf("url(%s) error(%s)", s, err)
  279. t.FailNow()
  280. }
  281. if err = ccode(body); err != nil {
  282. t.Fatal(err, string(body))
  283. t.FailNow()
  284. }
  285. fmt.Println(string(body))
  286. }
  287. // TestApplyNoticeSwitch TestApplyChangeStatus
  288. func TestApplyNoticeSwitch(t *testing.T) {
  289. var (
  290. mh [16]byte
  291. s string
  292. body []byte
  293. err error
  294. )
  295. params := url.Values{}
  296. params.Set("uid", "15555180")
  297. params.Set("status", "0")
  298. params.Set("appkey", "53e2fa226f5ad348")
  299. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  300. mh = md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  301. params.Set("sign", hex.EncodeToString(mh[:]))
  302. s = applyNoticeSwitch + "?" + params.Encode()
  303. body, err = opost(s)
  304. if err != nil {
  305. t.Errorf("url(%s) error(%s)", s, err)
  306. t.FailNow()
  307. }
  308. if err = ccode(body); err != nil {
  309. t.Fatal(err, string(body))
  310. t.FailNow()
  311. }
  312. fmt.Println(string(body))
  313. params.Del("sign")
  314. params.Set("status", "1")
  315. mh = md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  316. params.Set("sign", hex.EncodeToString(mh[:]))
  317. s = applyNoticeSwitch + "?" + params.Encode()
  318. body, err = opost(s)
  319. if err != nil {
  320. t.Errorf("url(%s) error(%s)", s, err)
  321. t.FailNow()
  322. }
  323. if err = ccode(body); err != nil {
  324. t.Fatal(err, string(body))
  325. t.FailNow()
  326. }
  327. fmt.Println(string(body))
  328. }
  329. // TestUptStat list
  330. func TestUptStat(t *testing.T) {
  331. params := url.Values{}
  332. params.Set("cid", "8937278")
  333. params.Set("dmid", "719189706")
  334. params.Set("stat", "0")
  335. params.Set("appkey", "53e2fa226f5ad348")
  336. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  337. mh := md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  338. params.Set("sign", hex.EncodeToString(mh[:]))
  339. s := _innerHost + "/x/internal/dm/stat/upt?" + params.Encode()
  340. fmt.Println(s)
  341. body, err := opost(s)
  342. if err != nil {
  343. t.Errorf("url(%s) error(%s)", s, err)
  344. t.FailNow()
  345. }
  346. if err = ccode(body); err != nil {
  347. t.Fatal(err, string(body))
  348. t.FailNow()
  349. }
  350. fmt.Println(string(body))
  351. }
  352. // TestUptStat list
  353. func TestDMTransfer(t *testing.T) {
  354. params := url.Values{}
  355. params.Set("from", "10108810")
  356. params.Set("to", "10108809")
  357. params.Set("mid", "452156")
  358. params.Set("offset", "0")
  359. params.Set("appkey", "53e2fa226f5ad348")
  360. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  361. mh := md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  362. params.Set("sign", hex.EncodeToString(mh[:]))
  363. s := _innerHost + "/x/internal/dm/up/transfer2?" + params.Encode()
  364. fmt.Println(s)
  365. body, err := opost(s)
  366. if err != nil {
  367. t.Errorf("url(%s) error(%s)", s, err)
  368. t.FailNow()
  369. }
  370. if err = ccode(body); err != nil {
  371. t.Fatal(err, string(body))
  372. t.FailNow()
  373. }
  374. fmt.Println(string(body))
  375. }
  376. // TestAssistBanned list
  377. func TestAssistBanned(t *testing.T) {
  378. params := url.Values{}
  379. params.Set("cid", "10108163")
  380. params.Set("dmids", "719925837,719925859")
  381. s := _host + "/x/dm/assist/banned?" + params.Encode()
  382. body, err := cpost(s)
  383. if err != nil {
  384. t.Errorf("url(%s) error(%s)", s, err)
  385. t.FailNow()
  386. }
  387. if err = ccode(body); err != nil {
  388. t.Fatal(err, string(body))
  389. t.FailNow()
  390. }
  391. fmt.Println(string(body))
  392. }
  393. // TestAssistDelBanned2 list
  394. func TestAssistDelBanned2(t *testing.T) {
  395. params := url.Values{}
  396. params.Set("aid", "4052732")
  397. params.Set("hashes", "131141213,mdzz")
  398. s := _host + "/x/dm/up/banned/del?" + params.Encode()
  399. body, err := cpost(s)
  400. if err != nil {
  401. t.Errorf("url(%s) error(%s)", s, err)
  402. t.FailNow()
  403. }
  404. if err = ccode(body); err != nil {
  405. t.Fatal(err, string(body))
  406. t.FailNow()
  407. }
  408. fmt.Println(string(body))
  409. }
  410. // TestUser user
  411. func TestUser(t *testing.T) {
  412. s := _host + "/x/dm/user"
  413. body, err := cget(s)
  414. if err != nil {
  415. t.Errorf("url(%s) error(%s)", s, err)
  416. t.FailNow()
  417. }
  418. if err = ccode(body); err != nil {
  419. t.Fatal(err, string(body))
  420. t.FailNow()
  421. }
  422. fmt.Println(string(body))
  423. }
  424. func TestBannedUsers(t *testing.T) {
  425. s := _host + "/x/dm/up/banned/users"
  426. params := url.Values{}
  427. params.Set("aid", "10097375")
  428. body, err := cget(s + "?" + params.Encode())
  429. if err != nil {
  430. t.Errorf("url(%s) error(%s)", s, err)
  431. t.FailNow()
  432. }
  433. if err = ccode(body); err != nil {
  434. t.Fatal(err, string(body))
  435. t.FailNow()
  436. }
  437. fmt.Println(string(body))
  438. }
  439. // TestAssistDel list
  440. func TestAssistDel(t *testing.T) {
  441. params := url.Values{}
  442. params.Set("cid", "8937278")
  443. params.Set("dmids", "719189706,719189707")
  444. s := "http://api.bilibili.com/x/dm/assist/del?" + params.Encode()
  445. body, err := cpost(s)
  446. if err != nil {
  447. t.Errorf("url(%s) error(%s)", s, err)
  448. t.FailNow()
  449. }
  450. if err = ccode(body); err != nil {
  451. t.Fatal(err, string(body))
  452. t.FailNow()
  453. }
  454. fmt.Println(string(body))
  455. }
  456. // TestAssistProtect list
  457. func TestAssistProtect(t *testing.T) {
  458. params := url.Values{}
  459. params.Set("cid", "8937278")
  460. params.Set("dmids", "719189706,719189707")
  461. s := _host + "/x/dm/assist/protect?" + params.Encode()
  462. body, err := cpost(s)
  463. if err != nil {
  464. t.Errorf("url(%s) error(%s)", s, err)
  465. t.FailNow()
  466. }
  467. if err = ccode(body); err != nil {
  468. t.Fatal(err, string(body))
  469. t.FailNow()
  470. }
  471. fmt.Println(string(body))
  472. }
  473. // TestAssistProtect list
  474. func TestAssistMove(t *testing.T) {
  475. params := url.Values{}
  476. params.Set("cid", "8937278")
  477. params.Set("dmids", "719189706,719189707")
  478. s := _host + "/x/dm/assist/move?" + params.Encode()
  479. body, err := cpost(s)
  480. if err != nil {
  481. t.Errorf("url(%s) error(%s)", s, err)
  482. t.FailNow()
  483. }
  484. if err = ccode(body); err != nil {
  485. t.Fatal(err, string(body))
  486. t.FailNow()
  487. }
  488. fmt.Println(string(body))
  489. }
  490. // TestAssistIgnore list
  491. func TestAssistBannedUpt(t *testing.T) {
  492. params := url.Values{}
  493. params.Set("mid", "15555180")
  494. params.Set("hash", "123")
  495. params.Set("stat", "0")
  496. params.Set("appkey", "53e2fa226f5ad348")
  497. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  498. mh := md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  499. params.Set("sign", hex.EncodeToString(mh[:]))
  500. s := _innerHost + "/x/internal/dm/assist/banned/upt?" + params.Encode()
  501. body, err := opost(s)
  502. if err != nil {
  503. t.Errorf("url(%s) error(%s)", s, err)
  504. t.FailNow()
  505. }
  506. if err = ccode(body); err != nil {
  507. t.Fatal(err, string(body))
  508. t.FailNow()
  509. }
  510. fmt.Println(string(body))
  511. }
  512. // TestUptPool
  513. func TestUptPool(t *testing.T) {
  514. params := url.Values{}
  515. params.Set("cid", "8937278")
  516. params.Set("dmid", "719189708")
  517. params.Set("pool", "1")
  518. params.Set("appkey", "53e2fa226f5ad348")
  519. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  520. mh := md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  521. params.Set("sign", hex.EncodeToString(mh[:]))
  522. s := _innerHost + "/x/internal/dm/pool/upt?" + params.Encode()
  523. body, err := opost(s)
  524. if err != nil {
  525. t.Errorf("url(%s) error(%s)", s, err)
  526. t.FailNow()
  527. }
  528. if err = ccode(body); err != nil {
  529. t.Fatal(err, string(body))
  530. t.FailNow()
  531. }
  532. fmt.Println(string(body))
  533. }
  534. // TestAssistIgnore list
  535. func TestAssistIgnore(t *testing.T) {
  536. params := url.Values{}
  537. params.Set("cid", "8937278")
  538. params.Set("dmids", "719189706,719189707")
  539. s := _host + "/x/dm/assist/ignore?" + params.Encode()
  540. body, err := cpost(s)
  541. if err != nil {
  542. t.Errorf("url(%s) error(%s)", s, err)
  543. t.FailNow()
  544. }
  545. if err = ccode(body); err != nil {
  546. t.Fatal(err, string(body))
  547. t.FailNow()
  548. }
  549. fmt.Println(string(body))
  550. }
  551. func TestDMList(t *testing.T) {
  552. params := url.Values{}
  553. params.Set("cid", "8937278")
  554. params.Set("page", "1")
  555. s := _host + "/x/dm/list?" + params.Encode()
  556. body, err := cget(s)
  557. if err != nil {
  558. t.Errorf("url(%s) error(%s)", s, err)
  559. t.FailNow()
  560. }
  561. if err = ccode(body); err != nil {
  562. t.Fatal(err, string(body))
  563. t.FailNow()
  564. }
  565. fmt.Println(string(body))
  566. }
  567. func TestDMedit(t *testing.T) {
  568. params := url.Values{}
  569. params.Set("cid", "8937278")
  570. params.Set("dmids", "1,2,3,4")
  571. params.Set("state", "1")
  572. s := _host + "/x/dm/edit?" + params.Encode()
  573. body, err := cpost(s)
  574. if err != nil {
  575. t.Errorf("url(%s) error(%s)", s, err)
  576. t.FailNow()
  577. }
  578. if err = ccode(body); err != nil {
  579. t.Fatal(err, string(body))
  580. t.FailNow()
  581. }
  582. fmt.Println(string(body))
  583. }
  584. func TestFilterList(t *testing.T) {
  585. params := url.Values{}
  586. params.Set("mid", "150781")
  587. params.Set("cid", "0")
  588. params.Set("appkey", "53e2fa226f5ad348")
  589. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  590. mh := md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  591. params.Set("sign", hex.EncodeToString(mh[:]))
  592. s := _host + "/x/internal/dm/filter/index/list?" + params.Encode()
  593. fmt.Println(s)
  594. body, err := oget(s)
  595. if err != nil {
  596. t.Errorf("url(%s) error(%s)", s, err)
  597. t.FailNow()
  598. }
  599. if err = ccode(body); err != nil {
  600. t.Fatal(err, string(body))
  601. t.FailNow()
  602. }
  603. fmt.Println(string(body))
  604. }
  605. func TestTransferList(t *testing.T) {
  606. params := url.Values{}
  607. params.Set("cid", "10109082")
  608. params.Set("mid", "1")
  609. params.Set("appkey", "53e2fa226f5ad348")
  610. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  611. mh := md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  612. params.Set("sign", hex.EncodeToString(mh[:]))
  613. s := _host + "/x/dm/transfer/list?" + params.Encode()
  614. fmt.Println(s)
  615. body, err := oget(s)
  616. if err != nil {
  617. t.Errorf("url(%s) error(%s)", s, err)
  618. t.FailNow()
  619. }
  620. if err = ccode(body); err != nil {
  621. t.Fatal(err, string(body))
  622. t.FailNow()
  623. }
  624. fmt.Println(string(body))
  625. }
  626. func TestTransferRetry(t *testing.T) {
  627. params := url.Values{}
  628. params.Set("id", "265")
  629. params.Set("mid", "1")
  630. s := _host + "/x/dm/transfer/retry?" + params.Encode()
  631. fmt.Println(s)
  632. body, err := cpost(s)
  633. if err != nil {
  634. t.Errorf("url(%s) error(%s)", s, err)
  635. t.FailNow()
  636. }
  637. if err = ccode(body); err != nil {
  638. t.Fatal(err, string(body))
  639. t.FailNow()
  640. }
  641. fmt.Println(string(body))
  642. }
  643. func TestEditFilter(t *testing.T) {
  644. fStr := `[
  645. {
  646. "type": 0,
  647. "filter": "傻逼",
  648. "activate": 1
  649. },
  650. {
  651. "type": 1,
  652. "filter": "*",
  653. "activate": 1
  654. },
  655. {
  656. "type": 4,
  657. "filter": "",
  658. "activate":1
  659. },
  660. {
  661. "type": 2,
  662. "filter": "150781",
  663. "activate": 0
  664. }
  665. ]`
  666. params := url.Values{}
  667. params.Set("mid", "150781")
  668. params.Set("cid", "0")
  669. params.Set("filters", fStr)
  670. params.Set("appkey", "53e2fa226f5ad348")
  671. params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
  672. mh := md5.Sum([]byte(params.Encode() + "3cf6bd1b0ff671021da5f424fea4b04a"))
  673. params.Set("sign", hex.EncodeToString(mh[:]))
  674. s := _host + "/x/internal/dm/filter/index/edit?" + params.Encode()
  675. fmt.Println(s)
  676. body, err := opost(s)
  677. if err != nil {
  678. t.Errorf("url(%s) error(%s)", s, err)
  679. t.FailNow()
  680. }
  681. if err = ccode(body); err != nil {
  682. t.Fatal(err, string(body))
  683. t.FailNow()
  684. }
  685. fmt.Println(string(body))
  686. }
  687. func TestUserRules(t *testing.T) {
  688. s := _host + "/x/dm/filter/user"
  689. body, err := cget(s)
  690. if err != nil {
  691. t.Errorf("url(%s) error(%s)", s, err)
  692. t.FailNow()
  693. }
  694. if err = ccode(body); err != nil {
  695. t.Fatal(err, string(body))
  696. t.FailNow()
  697. }
  698. fmt.Println(string(body))
  699. }
  700. // oget http get request
  701. func oget(url string) (body []byte, err error) {
  702. resp, err := http.Get(url)
  703. if err != nil {
  704. return
  705. }
  706. defer resp.Body.Close()
  707. body, err = ioutil.ReadAll(resp.Body)
  708. return
  709. }
  710. // ccode check code == 0
  711. // ccode check code == 0
  712. func ccode(body []byte) (err error) {
  713. var d interface{}
  714. err = json.Unmarshal(body, &d)
  715. if err != nil {
  716. return
  717. }
  718. ma, ok := d.(map[string]interface{})
  719. if !ok {
  720. return
  721. }
  722. code := ma["code"].(float64)
  723. if code != 0 {
  724. err = errors.New("code != 0")
  725. return
  726. }
  727. return
  728. }
  729. // opost http post request
  730. func opost(url string) (body []byte, err error) {
  731. resp, err := http.Post(url, "", nil)
  732. if err != nil {
  733. return
  734. }
  735. defer resp.Body.Close()
  736. body, err = ioutil.ReadAll(resp.Body)
  737. return
  738. }
  739. func cpost(url string) (body []byte, err error) {
  740. client := &http.Client{}
  741. req, err := http.NewRequest("POST", url, nil)
  742. if err != nil {
  743. return
  744. }
  745. req.Header.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
  746. req.Header.Add("Accept-Language", "ja,zh-CN;q=0.8,zh;q=0.6")
  747. req.Header.Add("Connection", "keep-alive")
  748. req.Header.Add("Cookie", `buvid3=7B833293-671D-47D9-9BAB-464DE756DFBF14331infoc; UM_distinctid=15ba97a9afed0-0b51074d03d7c4-396b7805-1fa400-15ba97a9aff25b; pgv_pvi=6667228160; pgv_si=s603312128; fts=1493197036; sid=chto560j; rpdid=kwmqqoqxomdoplppwwppw; PHPSESSID=nepo3f6lhgci20gbdet1vvfig1; HTML5PlayerCRC32=3819803418; biliMzIsnew=1; biliMzTs=0; html5_player_gray=false; player_gray=false; LIVE_BUVID=ecbc29c14b41a4c5ff883313e734a336; LIVE_BUVID__ckMd5=f2922ceec4b33165; user_face=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F9c843ff4cdcf38e6031e493ff17b1b8610e36e7a.jpg; purl_token=bilibili_1500257956; finger=0e029071; DedeUserID=27515260; DedeUserID__ckMd5=ae01241c690f95b5; SESSDATA=8bb74c97%2C1502854413%2Ccffcbc21; bili_jct=2b4c5f02e710a7f676acecb80c03271f; _cnt_pm=0; _cnt_notify=0; CNZZDATA2724999=cnzz_eid%3D714476842-1493196394-null%26ntime%3D1500262370; _dfcaptcha=a1ca150412337140d3d763aea1da2d41`)
  749. req.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0")
  750. resp, err := client.Do(req)
  751. if err != nil {
  752. return
  753. }
  754. defer resp.Body.Close()
  755. body, err = ioutil.ReadAll(resp.Body)
  756. return
  757. }
  758. func cget(url string) (body []byte, err error) {
  759. client := &http.Client{}
  760. req, err := http.NewRequest("GET", url, nil)
  761. if err != nil {
  762. return
  763. }
  764. req.Header.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
  765. req.Header.Add("Accept-Language", "ja,zh-CN;q=0.8,zh;q=0.6")
  766. req.Header.Add("Connection", "keep-alive")
  767. req.Header.Add("Cookie", `sid=88dol9eo; fts=1508407962; UM_distinctid=15f3436b684ab-08804fe751374a-31657c00-1fa400-15f3436b685298; pgv_pvi=3618563072; rpdid=kmilkmximpdoswqploqxw; buvid3=CBB97852-6CF6-4D3A-B97F-5A9AD1D5827F26561infoc; biliMzIsnew=1; biliMzTs=null; LIVE_BUVID=aabb755e95239c26d7f2dbeba748ce27; LIVE_BUVID__ckMd5=8b3ae56b45b2626a; member_v2=1; finger=14bc3c4e; BANGUMI_SS_21715_REC=192513; im_notify_type_3078992=0; DedeUserID=3078992; DedeUserID__ckMd5=55845496fd6119b5; SESSDATA=f7d955fd%2C1519879629%2Ca8074050; bili_jct=553a35adf1c94efb8d125d000798d1ca; pgv_si=s6786742272; purl_token=bilibili_1517461841; _dfcaptcha=30e17d94b2de231c8862ff9d16fff5dc`)
  768. req.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0")
  769. resp, err := client.Do(req)
  770. if err != nil {
  771. return
  772. }
  773. defer resp.Body.Close()
  774. body, err = ioutil.ReadAll(resp.Body)
  775. return
  776. }