Android 错误400从Xamarin调试设备访问Web Api时请求错误

Android 错误400从Xamarin调试设备访问Web Api时请求错误,android,webclient,xamarin,Android,Webclient,Xamarin,我正在尝试从本地主机上运行的WebApi应用程序获取响应。 我可以从thr浏览器中获取,也可以从其他web应用程序中获取 然而,我在Xamarin Studio调试设备中遇到了相同代码的问题 var url="http://192.168.2.4:13325/api/values"; using (WebClient wc = new WebClient()) { wc.Headers.Add("Accept","text/html,application/xhtml+xml,appl

我正在尝试从本地主机上运行的WebApi应用程序获取响应。 我可以从thr浏览器中获取,也可以从其他web应用程序中获取

然而,我在Xamarin Studio调试设备中遇到了相同代码的问题

var url="http://192.168.2.4:13325/api/values";
using (WebClient wc = new WebClient())
{

    wc.Headers.Add("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    wc.Headers.Add ("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22");
    wc.Headers.Add ("Accept-Encoding","gzip,deflate,sdch");
    wc.Headers.Add ("Accept-Language","en-US,en;q=0.8");
    wc.Headers.Add ("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.3");

    string HtmlResult = wc.DownloadString(url);
}
这是从浏览器执行请求时从Fiddler获取的标题。web应用程序甚至不需要这些,并得到响应


我正在使用计算机的IP,因为我读到调试器运行一个虚拟机,所以我不能以本地主机为目标。

我解决了这个问题。它与Xamarin或android无关,问题出在服务端

首先启用外部请求:


然后编辑应用程序的绑定信息:

我遇到了同样的问题,浏览器上的一切都正常,但无法从emulator连接(我收到了400个错误请求)很简单,我只是忘了以管理员身份启动web api

请记住,android模拟器的ip地址与网络中的本地ip地址不同。