如何在移动端发出HTTP请求



我正在尝试移动,并希望在应用程序启动前发送一些数据到web服务器。我使用的基本示例应用程序模板包括在移动。我在main:

开头添加了代码
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "X.X.X.X:8000/log", strings.NewReader("TEST"))
client.Do(req)
app.Main(func(a app.App) {
...
}
....
}

应用程序启动时立即崩溃。我确信我在GET请求中使用了正确的IP。
HTTP请求的方式有什么问题吗?
(我在Android上测试)

http.NewRequest可能返回错误,因为您的URL不包括方案(http/https),因此无效。修改"X.X.X.X:8000/log""http://X.X.X.X:8000/log"

你也应该处理错误,即使它只是一个调用panic,因为它会告诉你什么是错误的。

func main() {
client := &http.Client{}
req, err := http.NewRequest("GET", "http://X.X.X.X:8000/log", strings.NewReader("TEST"))
if err != nil {
panic(err)
}
_, err = client.Do(req)
if err != nil {
panic(err)
}
app.Main(func(a app.App) {
...
}
....
}

同样,当在android上测试时,你的恐慌很可能会在系统日志中结束,你可以看到adb logcat(不能100%确定这是否适用于移动应用程序)。

最新更新