hozonsite/getpage.go

48 行
1.1 KiB
Go
Raw 通常表示 履歴

2023-05-12 14:18:37 +09:00
package main
import (
"os"
"fmt"
"net/http"
"io"
"strings"
2023-05-12 14:18:37 +09:00
)
2023-06-27 13:48:35 +09:00
// URLでパラメートル(?、=等)がある場合
func stripurl (url string) string {
res := strings.ReplaceAll(url, "?", "")
res = strings.ReplaceAll(res, "=", "")
return res
}
2023-05-12 14:18:37 +09:00
func getpage (url string, path string) {
2023-06-27 13:48:35 +09:00
// ページを読み込む
2023-05-12 14:18:37 +09:00
curl, err := http.Get(url)
if err != nil {
fmt.Println("CURLエラー", err)
return
}
2023-06-27 13:48:35 +09:00
defer curl.Body.Close() // ソフトの終了する時に実行する
2023-05-12 14:18:37 +09:00
2023-06-27 13:48:35 +09:00
// ページの内容を読み込む
2023-05-12 14:18:37 +09:00
body, err2 := io.ReadAll(curl.Body)
if err2 != nil {
2023-05-12 16:34:02 +09:00
fmt.Println("読込エラー:", err2)
2023-05-12 14:18:37 +09:00
return
}
2023-06-27 13:48:35 +09:00
// 空index.htmlファイルを創作する
2023-05-12 14:18:37 +09:00
fn, err3 := os.Create(path + "/index.html")
if err3 != nil {
fmt.Println("ファイルの創作エラー:", err3)
return
}
2023-06-27 13:48:35 +09:00
defer fn.Close() // ソフトの終了する時に実行する
2023-05-12 14:18:37 +09:00
2023-06-27 13:48:35 +09:00
// あのindex.htmlファイルに内容をそのまま書き込む
2023-05-12 14:18:37 +09:00
_, err4 := fn.WriteString(string(body))
if err4 != nil {
fmt.Println("ファイル書込エラー:", err4)
}
}