我在我的开发盒上的 Visual Studio 中运行了一个有效的 ASP.NET Web API 服务。通过输入以下命令,我可以轻松地从 IE 或 FireFox 获得正确的结果:http://localhost:61420/api/products
. 但是当尝试使用我的 AVD 从我的 Android 项目中读取它时,我得到一个异常抛出说:
localhost/127.0.0.1:61420 - 连接被拒绝。
我知道我的 Android Java 代码可以工作,因为我可以访问在我的网站上运行的 WCF RESTFul 服务(当前已被注释掉的 URL)。我的 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;
}
}
}