Merge pull request #122 from techotaku/service-url-improvement

Improve HTTPS certificate checking logic.

Co-authored-by: techotaku <1948179+techotaku@users.noreply.github.com>
This commit is contained in:
₦₳ł฿₳ 2021-05-08 02:04:55 -07:00 committed by GitHub
commit adfb9a9af4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -9,9 +9,9 @@ import (
"log" "log"
"net" "net"
"net/http" "net/http"
"net/url"
"os" "os"
"os/exec" "os/exec"
"strings"
"time" "time"
"github.com/blang/semver" "github.com/blang/semver"
@ -186,8 +186,10 @@ func doTask(task *pb.Task) {
} }
if err == nil { if err == nil {
// 检查 SSL 证书信息 // 检查 SSL 证书信息
if strings.HasPrefix(task.GetData(), "https://") { serviceUrl, err := url.Parse(task.GetData())
c := cert.NewCert(task.GetData()[8:]) if err == nil {
if serviceUrl.Scheme == "https" {
c := cert.NewCert(serviceUrl.Host)
if c.Error != "" { if c.Error != "" {
result.Data = "SSL证书错误" + c.Error result.Data = "SSL证书错误" + c.Error
} else { } else {
@ -197,6 +199,9 @@ func doTask(task *pb.Task) {
} else { } else {
result.Successful = true result.Successful = true
} }
} else {
result.Data = "URL解析错误" + err.Error()
}
} else { } else {
// HTTP 请求失败 // HTTP 请求失败
result.Data = err.Error() result.Data = err.Error()