Android Volley JsonObjectRequest 超时,但显式 IP:端口请求有效

Android Volley JsonObjectRequest 超时,但显式 IP:端口请求有效

我的服务器 VM 上有一个使用 gorilla/mux 的 REST API:

router := mux.NewRouter().StrictSlash(true)
log.Fatal(http.ListenAndServe(":49186", router))

我有一个暴露的IP,并且在GoDaddy上设置的域名转发为:[http://],[198.123.123.123:49186],转发类型:永久(301),设置:仅转发

在我的 Kotlin 中我有:

val url = "http://example.com/getJSONitem/item%20name"
val q = Volley.newRequestQueue(this)
val request = JsonObjectRequest(Request.Method.Get, url, null, Response.Listener<JSONObject> { response ->
    textView.text = response.getString("Name")
    },
    Response.ErrorListener { error ->
        println(error)
})
q.add(request)

当我运行它时,它会挂起一秒钟,然后我得到

I/System.out: com.android.volley.TimeoutError

但如果我明确输入 IP 和端口...

url = "http://198.123.123.123:49186/getJSONitem/item%20name"

...它工作正常,我得到了 JSON 对象...至少这告诉我我的服务器正在监听。所以这要么是我的 Volley 代码有问题,要么是我的 DNS 转发配置错误,在这种情况下,这属于 SE 的问题,我深表歉意。感谢您的阅读。

PS 我也尝试过按如下方式将端口放在域后面,但收到相同的超时错误。

url = "http://example.com:49186/getJSONitem/item%20name"

相关内容