我的程序無法訪問互聯網時,在Android終端,但在Linux工作正常。 (wget的(busybox的)正常工作與android的終端網絡)如何從Android上運行的Go程序訪問Internet?
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
你是怎麼運行的?你會得到什麼錯誤?你確定代碼運行嗎? – 2012-07-13 05:40:57
在linux('200 OK')中的http.Response狀態,在android(xperia s)打印錯誤:「'獲取http://ifconfig.me/ip:錯誤讀取DNS配置:打開/ etc/resolv。 conf:沒有這樣的文件或目錄'',文件/etc/resolv.conf不存在,問題是如何編譯的? – nocrox 2012-07-13 16:34:04
**(android 4.0.4)** – nocrox 2012-07-13 16:45:05