gpt4 book ai didi

android - 从android访问asp.net web api http服务

转载 作者:行者123 更新时间:2023-11-29 18:08:01 25 4
gpt4 key购买 nike

我的开发箱上有一个在 Visual Studio 中运行的 ASP.NET Web API 服务。我可以很容易地从 I.E.或通过输入 FireFox:http://localhost:61420/api/products。但是,当尝试使用我的 AVD 从我的 Android 项目中读取它时,我抛出了一个异常:

localhost/127.0.0.1:61420 - Connection refused.

我知道我的 Android Java 代码可以正常工作,因为我可以访问在我的网站(当前已注释掉的 URL)上运行的 WCF RESTFul 服务。下面粘贴了我的 Android 代码。

那么,为什么从我的 Eclipse 项目访问时出现错误,而从浏览器访问时却没有?谢谢

public void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

HttpURLConnection urlConnection = null;

try
{
//URL url = new URL("http://www.deanblakely.com/myRESTService/SayHello");
URL url = new URL("http://localhost:61420/api/products");
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
String myString = readStream(in);
String otherString = myString;
otherString = otherString + " ";
}
catch (MalformedURLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
urlConnection.disconnect();
}
}

private String readStream(InputStream is)
{
try
{
ByteArrayOutputStream bo = new ByteArrayOutputStream();
int i = is.read();

while(i != -1)
{
bo.write(i);
i = is.read();
}

return bo.toString();
}
catch (IOException e)
{
return "" + e;
}
}
}

最佳答案

Visual Studio 开发 Web 服务器将只接受来自本地主机的连接,而不是通过网络或其他虚拟连接。听起来 AVD 被视为远程主机。

关于android - 从android访问asp.net web api http服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12343585/

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