From 48803a65abfc56b3d7afc172199028525f7adcd0 Mon Sep 17 00:00:00 2001 From: fengxxc Date: Thu, 13 Mar 2025 16:28:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AF=B7=E6=B1=82=E5=A4=B4=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0User-Agent=EF=BC=8C=E8=A7=A3=E5=86=B3=E8=A2=AB?= =?UTF-8?q?=E5=AE=98=E6=96=B9=E5=8F=8D=E7=88=AC=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 2 +- README.md | 4 ++-- parse/parse.go | 11 +++++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) 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 {