1、实现的思路

(1)、将网页加载到WebView里面,获取到页面的Cookie,通过标签的ID和属性,获取到验证码的图片;
(2)、将图片下载到本地(通过使用同一个图片链接请求图片可以发现,每次请求的图片内容都不一样,所以下载图片的时候需带上Cookie,表示图片已刷新了),通过调用科大讯飞的API识别图片上的内容;
(3)、通过用户名,密码,验证码调用登录的接口(具体的接口名称和参数去网页上找);
(4)、登录成功之后,这个Cookie和用户信息对应上,Cookie就生效了,就可以使用这个Cookie去调用其他的接口了。

2、具体的实现

func main() {
    go func() {
        ser := server.Default()//服务器初始化
        //用这个接口测试
        ser.GET("/GetTestData",TestTimer)
        ser.RunServer()
    }()
    //加载WebView页面,mac 下webview用OC实现的,windows用java
    Get("http://bhz.clkr.kxlims.cn/MsSys/Login")
}
//加载WebView页面
func Get(URL string) {
    w = webview.New(webview.Settings{
        Width:  800,
        Height: 600,
        Title:  "Simple canvas demo",
        URL:    URL,
        ExternalInvokeCallback: handleRPC,
        ExternalFinishLoadForFrameCallback:didFinishLoadForFrame,
    })
    defer w.Exit()
    w.Run()
    // Open wikipedia in a 800x600 resizable window
}
func handleRPC(w webview.WebView, data string) {
    fmt.Println("data:",data)
}
//加载成功之后调用方法
func didFinishLoadForFrame(w webview.WebView) {

    fmt.Start()
    if w.IsLoading() {
        fmt.Println("didFinishLoadForFrame IsLoading")
    } else {