url2_test.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package dyjx
  2. import (
  3. "fmt"
  4. "io/ioutil"
  5. "net/http"
  6. "testing"
  7. )
  8. func TestUrl2(t *testing.T) {
  9. //res, err := http.Get("https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300fg10000c2pqsiu8valn90t2ugq0&ratio=720p&line=0")
  10. //if err != nil {
  11. // fmt.Print(err.Error())
  12. //}
  13. //body, _ := ioutil.ReadAll(res.Body) //转换byte数组
  14. ////defer res.Body.Close()
  15. ////io.Copy(os.Stdout, res.Body)//写到输出流,
  16. //bodystr := string(body) //转换字符串
  17. //fmt.Print("body = ", bodystr)
  18. //client := &http.Client{}
  19. //reqest, _ := http.NewRequest("GET", "https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300fg10000c2pqsiu8valn90t2ugq0&ratio=720p&line=0", nil)
  20. //
  21. //reqest.Header.Set("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
  22. //reqest.Header.Set("Accept-Charset", "utf-8;q=0.7,*;q=0.3")
  23. ////reqest.Header.Set("Accept-Encoding", "gzip, default")//这个有乱码,估计是没有解密,或解压缩
  24. //reqest.Header.Set("Accept-Encoding", "utf-8") //这就没有乱码了
  25. //reqest.Header.Set("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3")
  26. //reqest.Header.Set("Cache-Control", "max-age=0")
  27. //reqest.Header.Set("Connection", "keep-alive")
  28. //reqest.Header.Set("Host", "https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300fg10000c2pqsiu8valn90t2ugq0&ratio=720p&line=0")
  29. //reqest.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0")
  30. //
  31. //response, _ := client.Do(reqest)
  32. //if response.StatusCode == 200 {
  33. // body, _ := ioutil.ReadAll(response.Body)
  34. // bodystr := string(body)
  35. // fmt.Print("body", bodystr)
  36. //}
  37. request, err := http.NewRequest("GET", "https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300fg10000c2pqsiu8valn90t2ugq0&ratio=720p&line=0", nil)
  38. if err != nil {
  39. fmt.Print(err.Error())
  40. }
  41. // 设置请求投
  42. //request.Header.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8")
  43. //request.Header.Add("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3")
  44. //request.Header.Add("Connection", "keep-alive")
  45. //request.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36")
  46. //request.Header.Set("Accept-Encoding", "utf-8") //这就没有乱码了
  47. client := &http.Client{
  48. CheckRedirect: func(req *http.Request, via []*http.Request) error {
  49. return http.ErrUseLastResponse
  50. },
  51. }
  52. // Do sends an HTTP request and returns an HTTP response
  53. // 发起一个HTTP请求,返回一个HTTP响应
  54. //client.Do(request)
  55. //Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Mobile Safari/537.36
  56. request.Header.Set("User-Agent", "Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Mobile Safari/537.36") //刚才找到的浏览器中User-agent
  57. response, err := client.Do(request)
  58. if err != nil {
  59. fmt.Print("err = ", err.Error())
  60. }
  61. fmt.Print("body = ", response.StatusCode)
  62. fmt.Print("loc =", response.Header.Get("location"))
  63. if response.StatusCode == 200 {
  64. body, _ := ioutil.ReadAll(response.Body)
  65. _ = string(body)
  66. //fmt.Print("body", bodystr)
  67. }
  68. fmt.Print("body = ", response.StatusCode)
  69. }