gpt4 book ai didi

android - Android 上运行的 Go 程序如何访问互联网?

转载 作者:IT王子 更新时间:2023-10-29 02:00:23 27 4
gpt4 key购买 nike

我的程序放在安卓终端时无法访问互联网,但在 linux 中工作正常。(wget(busybox)在 android 终端中与互联网一起工作正常)

package main

import (
"io"
"io/ioutil"
"net/http"
)

func Url(url string)(string, io.ReadCloser, http.Header, error){
var c = http.Client{}
inf, err := c.Get(url)
if err == nil {
data,_ := ioutil.ReadAll(inf.Body)
return string(data), inf.Body, inf.Header, err
}
return "", nil, nil, err
}

func main() {
print("test internet... ")
c,_,_,err := Url("http://ifconfig.me/ip")
if err == nil {
println("\n ip:", c)
}else{
println("error")
}
}

编译:

go build main.go    # linux
CGO_ENABLED=0 GOOS=linux GOARCH=arm go build $(bin).go # android

最佳答案

Android 没有/etc/resolv.conf

在您的代码中的某处,或者更可能是您导入的那些库之一,您假定使用传统的 linux 用户空间,这在 Android 上不是这种情况。

也许“GOOS=linux”是错误的根源。

关于android - Android 上运行的 Go 程序如何访问互联网?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11464486/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com