我正在尝试从我的localhost上运行的WebApi应用程序获得响应。 我可以从浏览器中获取它,我可以从其他网络应用程序获取它。
但是,我在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,因为我读过,调试器运行的是虚拟机,所以我无法定位localhost。
答案 0 :(得分:0)
我解决了这个问题。它与Xamarin或android无关,问题出在服务端。
首先启用外部请求:IIS Express enable external request
然后编辑您应用的绑定信息:IISExpress returns a 503 error from remote machines
答案 1 :(得分:0)
我遇到了同样的问题,所有的东西在浏览器上都运行良好,但是从模拟器上无法连接(我收到一个400错误的请求),这很简单,我只是忘记以管理员身份启动我的Web api