[英]Cannot make http GET request on localhost of the android device/emulator
我已經提出測試申請來調查與 http 請求相關的問題。 這是一個 android 應用程序,我正在向本地主機發出請求:
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://127.0.0.1")
.build();
try {
Response response = client.newCall(request).execute();
Log.v("krv", response.toString());
} catch (Exception e) {
Log.v("krv", e.toString());
}
作為設備模擬器的結果,我有“java.net.ConnectException:無法連接到/127.0.0.1:80”異常。 對於外部資源(如 google.com)的任何其他請求,一切正常。 我還安裝了 IIS。 操作系統為 Windows 10。
PS 真的是我需要的——能夠在運行 http 服務器的機頂盒設備上發出 http 請求(我有同樣的問題)。 我想這兩個問題都有相似的原因。 你能給我任何建議如何解決/調試我的問題嗎...
127.0.0.1
是 localhost 的環回地址。 但是,當您在 android 操作系統中時, localhost
或127.0.0.1
本身就是 android 本身,這不是您的服務器運行的地方。
如果要連接到主機,則需要找出主機(Windows 10)的 IP 地址,並使用該 IP 地址而不是127.0.0.1
。
但是,如果要引用運行 Android 仿真器的計算機,請改用 IP 地址10.0.2.2
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.