Clean up API and fix channel URL dump
[yt-mango.git] / apijson / grab.go
blob8d95c3b95c035dcb749ed8fb9ad363fc0dd3a6ec
1 package apijson
3 import (
4 "net/http"
7 const videoURL = "https://www.youtube.com/watch?pbj=1&v="
8 const channelURL = "https://www.youtube.com/browse_ajax?ctoken="
10 func GrabVideo(videoID string) *http.Request {
11 // Prepare request
12 req, err := http.NewRequest("GET", videoURL + videoID, nil)
13 if err != nil { panic(err) }
14 setHeaders(&req.Header)
16 return req
19 func GrabChannelPage(channelID string, page uint) *http.Request {
20 // Generate page URL
21 token := GenChannelPageToken(channelID, uint64(page))
22 url := channelURL + token
24 // Prepare request
25 req, err := http.NewRequest("GET", url, nil)
26 if err != nil { panic(err) }
27 setHeaders(&req.Header)
29 return req
32 func setHeaders(h *http.Header) {
33 h.Add("Host", "www.youtube.com")
34 h.Add("User-Agent", "yt-mango/0.1")
35 h.Add("X-YouTube-Client-Name", "1")
36 h.Add("X-YouTube-Client-Version", "2.20170707")