blob: 5ab913c4a6d55e9264106cef4e7084e8af57fa0e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"os"
)
// downloadCategory downloads the given category from celestrack
func downloadCategory(categoryName string) {
// define where to download the TLEs from
base := "https://celestrak.com/NORAD/elements/"
downloadURL := fmt.Sprintf("%s%s.txt", base, categoryName)
// define the HTTP GET request and make it
resp, err := http.Get(downloadURL)
if err != nil {
log.Printf("Could not download %s", categoryName)
}
defer resp.Body.Close()
// read the respose from the GET request
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Printf("Could not read the category %s", categoryName)
}
// write the response to the corresponding file
filename := fmt.Sprintf("data/%s.txt", categoryName)
f, err := os.Create(filename) // creating the file
if err != nil {
fmt.Printf("Could not create file data/%s.txt", categoryName)
}
_, err = f.WriteString(string(body)) // writing the TLE to the file
if err != nil {
fmt.Printf("Could not write to file data/%s.txt", categoryName)
}
}
|