我使用ASP.NET Web API Web服务器进行Android客户授权。我输入我的登录名,按回车键,找到用户找到的答案。但它只能通过android模拟器。当我尝试使用真实设备时,路由器上的错误403端口也会在您的计算机上打开。电话和计算机在同一网络上。如果您驾驶计算机和端口(192.168.0.101:7899),则在您的手机浏览器中打开该服务器上的页面。这是对服务器的请求:
@GET("/login")
void findLogin(@Query("login") String login, Callback<Users> callback);
该连接代码:
public class RestClient {
private UploadService uploadService;
private String URL ="http://192.168.0.101:7899/api/";
public RestClient(){
Gson localGson = new GsonBuilder().create();
this.uploadService = ((UploadService)new RestAdapter.Builder()
.setEndpoint(URL)
.setConverter(new GsonConverter(localGson))
.setRequestInterceptor(new RequestInterceptor() {
public void intercept(RequestFacade requestFacade) {
if (URL.contains("192.168.0.101")) {
requestFacade.addHeader("Host", localhost");
}
}
})
.build().create(UploadService.class));
}
如何解决403错误的问题? 抱歉我的英文不好
答案 0 :(得分:1)
假设您遇到问题CORS。
因此,首先我们需要使用NuGet Package Manager导入这些包。单击工具&gt;打开包管理器控制台。 NuGET包管理器&gt;在Package Manager控制台中,您只需输入以下命令:
安装包Microsoft.AspNet.WebApi.Cors -IncludePrerelease
现在,在解决方案资源管理器中,转到App_Start&gt; WebApiConfig.cs 在Register(...)方法中添加以下行:
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
和
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
因此,您的WebApiConfig.cs看起来像:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
using System.Web.Http.Cors;
namespace Student_Management_System
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
// Web API configuration and services
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
}
}
}
您可能想参考我的博客:https://programmingwithease.wordpress.com/2014/06/18/learning-asp-net-web-api-2-using-c/