Ruby on rails ROR+;尝试从VB.Net访问RESTful URL
在我的rails应用程序中,我使用RailsWeb服务对用户进行身份验证。 此处URL: 在这里,我将用户名和密码传递给AuthenticateUser方法以验证用户。我的rails应用程序运行良好。但是当我试图从.Net代码中访问此文件时,我得到了Ruby on rails ROR+;尝试从VB.Net访问RESTful URL,ruby-on-rails,vb.net,web-services,Ruby On Rails,Vb.net,Web Services,在我的rails应用程序中,我使用RailsWeb服务对用户进行身份验证。 此处URL: 在这里,我将用户名和密码传递给AuthenticateUser方法以验证用户。我的rails应用程序运行良好。但是当我试图从.Net代码中访问此文件时,我得到了错误406 '调用json web服务 我想,当我从.net代码访问它时,应该是一个跨域调用。这对结果有影响吗 我收到错误:远程服务器返回错误:(406)不可接受。 请提出一些建议。提前感谢。表示您的客户端指定它不会接受web服务愿意提供的格式 假
错误406
'调用json web服务
我想,当我从.net代码访问它时,应该是一个跨域调用。这对结果有影响吗
我收到错误:远程服务器返回错误:(406)不可接受。
请提出一些建议。提前感谢。表示您的客户端指定它不会接受web服务愿意提供的格式
假设响应是application/json
,您可以:
如果它不起作用,这意味着web服务实际上不会在application/json
中给出响应,您应该再看看它实际提供了什么服务
如果您不相信服务器的406,那么您应该开始查看web服务代码,看看为什么它返回406,即使它可以生成
application/json
响应,并且请求的application/json
包含在其Accept
头中。我们已经在上面添加了头。另外,这是一个跨域请求。这对这个有影响吗?没有。再次检查你的标题。406只能说明这一点。我如何检查它是否返回了application/json响应?
String uri = "https://www.test.com/AuthenticateUser?username=tuser@mailinator.com&password=123456";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
req.Method = "GET";
req.Accept = "application/json";
req.PreAuthenticate = true;
req.Credentials = CredentialCache.DefaultCredentials;
WebResponse response = req.GetResponse();
Stream s = response.GetResponseStream();
req.Accept = "application/json"