ページを保存機能性

このコミットが含まれているのは:
守矢諏訪子 2023-05-11 12:00:32 +09:00
コミット 7f3db1b6cc
2個のファイルの変更34行の追加7行の削除

ファイルの表示

@ -47,8 +47,7 @@ func main () {
}
if len(exist) == 0 || confirm == "y" || confirm == "Y" {
path := mkdirs(args[1], cnf.datapath)
// TODO: ページの保存
//getpage(args[1], path)
getpage(args[1], path)
// TODO: ページの確認
//scanpage(path)
fmt.Println(cnf.domain + strings.Replace(path, cnf.datapath, "", 1))

38
prep.go
ファイルの表示

@ -1,11 +1,13 @@
package main
import (
"os/exec"
"os"
"time"
"fmt"
"strings"
"path/filepath"
"net/http"
"io/ioutil"
)
func checkexist (url string, prefix string) []string {
@ -36,13 +38,39 @@ func mkdirs (url string, prefix string) string {
t := time.Now().Unix()
path := fmt.Sprint(prefix, "/archive/", t, rep)
cmd := exec.Command("mkdir", "-p", path)
cmd.Run()
err := os.MkdirAll(path, 0755)
if err != nil {
fmt.Println("失敗:", err)
}
return path
}
//func getpage (url string, path string) {}
func getpage (url string, path string) {
curl, err := http.Get(url)
if err != nil {
fmt.Println("CURLエラー", err)
return
}
defer curl.Body.Close()
body, err2 := ioutil.ReadAll(curl.Body)
if err2 != nil {
fmt.Println("ioutilエラ", err2)
return
}
fn, err3 := os.Create(path + "/index.html")
if err3 != nil {
fmt.Println("ファイルの創作エラー:", err3)
return
}
defer fn.Close()
_, err4 := fn.WriteString(string(body))
if err4 != nil {
fmt.Println("ファイル書込エラー:", err4)
}
}
//func scanpage (path string) {}