我有一个激活浏览器的进程,该浏览器向本地服务器发出请求。 服务器应该响应,但我不知道如何看,客户端,答案。 我需要的是发出请求的浏览器。我不想用http.NewRequest自己编写。
client.go:
func openChrome() {
var page = "https://localhost:1333/"
program := "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"
url := []string{"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", page}
attr := &os.ProcAttr{
Files: []*os.File{os.Stdin, os.Stdout, os.Stderr},
}
proc,err:=os.StartProcess(program, url, attr)
proc.Wait();
// if err!=nil, log.Fatal(err)
}
答案 0 :(得分:1)
要查看回复并更轻松地控制请求,可以使用chromedp,chromedriver(使用webdriver)或selenium等工具加载网页并查找回复在浏览器中。所有这些都应该可以在不同程度上访问,并且可以用来驱动浏览器完成标准请求周期,就像人类正在这样做(加载内容和查询加载的内容)。
你可以从你启动的进程中看到stdout和stderr,但这不太可能帮助你完成这个特定的任务,所以我忽略了这一点。
您没有给出排除直接请求的理由,但是为了完全控制这将是另一种可能性,除非您需要呈现html,否则您的代码可以执行浏览器可以执行的所有操作(更改用户代理,解析HTML等) )。