以下是一个简单的示例程序,可以使用golang模拟打开浏览器并录入数据后请求:

package main

import (
    "fmt"
    "net/http"
    "net/url"
    "os/exec"
    "runtime"
)

func main() {
    // 打开浏览器并输入数据
    openBrowser('https://www.baidu.com')
    // 模拟输入数据
    formData := url.Values{}
    formData.Set('username', 'test')
    formData.Set('password', '123456')

    // 发送POST请求
    resp, err := http.PostForm('http://example.com/login', formData)
    if err != nil {
        fmt.Println('请求失败:', err)
        return
    }
    defer resp.Body.Close()

    // 输出响应结果
    fmt.Println('响应状态码:', resp.StatusCode)
}

// 打开浏览器
func openBrowser(url string) error {
    var err error
    switch runtime.GOOS {
    case 'windows':
        err = exec.Command('cmd', '/c', 'start', url).Start()
    case 'darwin':
        err = exec.Command('open', url).Start()
    default:
        err = fmt.Errorf('unsupported platform')
    }
    if err != nil {
        fmt.Println('打开浏览器失败:', err)
    }
    return err
}

在上述示例代码中,我们首先使用openBrowser函数打开了指定的网址(在这里我们使用了百度搜索页面作为示例)。接着,我们使用url.Values来模拟表单数据,并使用http.PostForm函数发送POST请求。最后,我们输出了响应状态码。

需要注意的是,这种方式实际上是通过发送HTTP请求来模拟用户的操作,而不是真正地在浏览器中进行操作。因此,如果需要模拟浏览器操作的话,还需要使用其他的工具或库来实现,例如Selenium WebDriver。

Golang 模拟浏览器操作:打开网站、填写表单并发送请求

原文地址: https://www.cveoy.top/t/topic/nbLG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录