diff --git a/Makefile b/Makefile index 095ccf9..7459b48 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ BUILD_ENV := CGO_ENABLED=0 APP=wechatmp2markdown -VERSION=v1.1.10 +VERSION=v1.1.11 # linux or mac 环境编译 # make [cmd] diff --git a/README.md b/README.md index d512c20..449856d 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ markdown和图片文件将保存在 `D:\wechatmp_bak\gitcode操你妈\` 下 > "*" -> "⁎" > ``` -> 在linux环境下,使用CLI模式,需要为程序赋予可执行与写权限,例如:` chmod +xw wechatmp2markdown-v1.1.10_linux_amd64`; +> 在linux环境下,使用CLI模式,需要为程序赋予可执行与写权限,例如:` chmod +xw wechatmp2markdown-v1.1.11_linux_amd64`; > 以及,文件或路径名不能包含以下任何字符:/(正斜杠),当标题包含以上字符时,本程序将用相似的Unicode字符进行替换,具体替换规则为: > ``` > "/" -> "∕" @@ -109,7 +109,7 @@ markdown和图片文件将保存在 `D:\wechatmp_bak\gitcode操你妈\` 下 浏览器访问:`localhost:8964?url=https://mp.weixin.qq.com/s/a=1&b=2&image=save`, 将返回一个zip文件 -> 在linux环境下,使用web server模式,需要为程序赋予可执行权限,例如:` chmod +x wechatmp2markdown-v1.1.10_linux_amd64` +> 在linux环境下,使用web server模式,需要为程序赋予可执行权限,例如:` chmod +x wechatmp2markdown-v1.1.11_linux_amd64` ## 开发 go 1.20 diff --git a/parse/parse.go b/parse/parse.go index c03b243..649cf08 100644 --- a/parse/parse.go +++ b/parse/parse.go @@ -227,9 +227,16 @@ func ParseFromHTMLFile(filepath string, imagePolicy ImagePolicy) Article { } func ParseFromURL(url string, imagePolicy ImagePolicy) Article { - res, err := http.Get(url) + req, err := http.NewRequest("GET", url, nil) + if err != nil { - log.Fatalf(err.Error()) + log.Fatalf("new request %s error: %s", url, err.Error()) + } + req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0") + client := &http.Client{} + res, err := client.Do(req) + if err != nil { + log.Fatalf("request to url %s error: %s", url, err.Error()) } defer res.Body.Close() if res.StatusCode != 200 {