我正在开发一个访问.Net WebApi服务的简单Xamarin表单客户端应用程序。我使用postman测试端点它完美地工作并返回数据,但是当我使用Xamarin应用程序获取数据时我收到错误
“未处理的例外情况: System.Net.Http.HttpRequestException:发送请求“
时发生错误
我提到了用于从休息服务中获取数据的方法
private List <String> parseOutAllUrlLinksInWebPage(String webPageUrl) {
List <String> retList = new ArrayList <String> ();
if (webPageUrl != null && !"".equals(webPageUrl.trim())) {
/* Get current page belongs domain. */
String urlDomain = this.getPageBelongDomain(webPageUrl);
/* First parse out all a tag href urls. */
By byUrlLink = By.tagName("a");
List <WebElement> aLinkList = driver.findElements(byUrlLink);
if (aLinkList != null) {
int aLinkSize = aLinkList.size();
for (int i = 0; i <aLinkSize; i++) {
WebElement aLink = aLinkList.get(i);
String href = aLink.getAttribute("href");
if (href != null && !"".equals(href.trim())) {
/* Only return same domain page url. */
if (href.toLowerCase().startsWith("http://" + urlDomain) || href.toLowerCase().startsWith("https://" + urlDomain)) {
retList.add(href);
}
}
}
}
/* Second parse out all img tag src urls. */
By byImg = By.tagName("img");
List <WebElement> imgList = driver.findElements(byImg);
if (imgList != null) {
int imgSize = imgList.size();
for (int i = 0; i <imgSize; i++) {
WebElement imgElement = imgList.get(i);
String src = imgElement.getAttribute("src");
if (src != null && !"".equals(src.trim())) {
/* Only return same domain page url. */
if (src.toLowerCase().startsWith("http://" + urlDomain) || src.toLowerCase().startsWith("https://" + urlDomain)) {
retList.add(src);
}
}
}
}
}
System.out.println("Parse out url completed successfully.");
return retList;
};
答案 0 :(得分:2)
在仿真器或真实设备上使用“localhost”时,您正在访问仿真器/设备,而不是可能正在运行api服务的开发机器。您需要输入一个有效的URL来访问运行api的机器。
如果您尝试在模拟器或真实设备上运行邮递员,则可能会遇到相同的错误。