url_jx_test.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package dyjx
  2. import (
  3. "dysy/models"
  4. "encoding/json"
  5. "fmt"
  6. "github.com/asmcos/requests"
  7. "net/http"
  8. "strings"
  9. "testing"
  10. )
  11. //https://v.douyin.com/JvTooa3/
  12. func Test_UrlJx(t *testing.T) {
  13. fmt.Println("test")
  14. str := ""
  15. baseHost := "https://v.douyin.com/JvTooa3/"
  16. client := &http.Client{
  17. CheckRedirect: func(req *http.Request, via []*http.Request) error {
  18. return http.ErrUseLastResponse
  19. },
  20. }
  21. res, err := client.Get(baseHost)
  22. if err != nil {
  23. fmt.Println(baseHost)
  24. }
  25. if res.StatusCode != 301 {
  26. fmt.Println(baseHost)
  27. //return baseHost
  28. }
  29. fmt.Println(res.Header.Get("Location"))
  30. str = res.Header.Get("Location")
  31. //str := "https://www.iesdouyin.com/share/video/6921910683072220429/?region=CN&mid=6921910756871670541&u_code=121d24j2h&titleType=title&did=67754443383&iid=650526374502219&utm_source=copy_link&utm_campaign=client_share&utm_medium=android&app=aweme"
  32. comma := strings.Index(str, "/video/")
  33. pos := strings.Index(str, "/?")
  34. fmt.Println(comma, pos, str[comma+7:pos])
  35. var inData models.DyJieXi
  36. baseHost = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=" + str[comma+7:pos]
  37. req := requests.Requests()
  38. resp, err := req.Get(baseHost)
  39. fmt.Println(resp.Text())
  40. if err != nil {
  41. fmt.Println(err.Error())
  42. }
  43. err = json.Unmarshal([]byte(resp.Text()), &inData)
  44. if err != nil {
  45. fmt.Println()
  46. }
  47. fmt.Println(inData)
  48. //视频url
  49. var videoUrl = inData.ItemList[0].Video.PlayAddr.URLList[0]
  50. fmt.Println(inData.ItemList[0].Video.PlayAddr.URLList[0])
  51. fmt.Println(inData.ItemList[0].Video.PlayAddr.URI)
  52. fmt.Println(strings.Replace(videoUrl, "playwm", "play", 1))
  53. //音频url
  54. //musicUrl = dyResult.getItem_list().get(0).getMusic().getPlay_url().getUri();
  55. //dyDto.setMusicUrl(musicUrl);
  56. fmt.Println(inData.ItemList[0].Music.PlayURL.URI)
  57. fmt.Println(inData.ItemList[0].Music.PlayURL.URLList[0])
  58. //videoPic = dyResult.getItem_list().get(0).getVideo().getDynamic_cover().getUrl_list().get(0);
  59. //dyDto.setVideoPic(videoPic);
  60. //封面
  61. fmt.Println(inData.ItemList[0].Video.DynamicCover.URLList[0])
  62. //文案
  63. //desc = dyResult.getItem_list().get(0).getDesc();
  64. // dyDto.setDesc(desc);
  65. fmt.Println(inData.ItemList[0].Desc)
  66. //https://www.iesdouyin.com/share/video/6921910683072220429/?region=CN&mid=6921910756871670541&u_code=121d24j2h&titleType=title&did=67754443383&iid=650526374502219&utm_source=copy_link&utm_campaign=client_share&utm_medium=android&app=aweme
  67. }