ROR +尝试从VB.Net访问RESTful URL

时间:2013-03-08 06:00:27

标签: ruby-on-rails vb.net web-services

在我的rails应用程序中,我使用rails web-service来验证用户。 这里的网址:

  

https://www.test.com/AuthenticateUser?username=tuser@mailinator.com&password=123456

这里我将用户名和密码传递给AuthenticateUser Method来验证用户。它与我的rails应用程序正常工作。但是当我尝试从.Net Code访问它时,我得到的是error 406

  

'调用json web服务

  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();

我想,当我从.net代码访问它时,它应该是一个跨域调用。它对结果有影响吗?

我收到错误:远程服务器返回错误:(406)Not Acceptable。 请提出一些建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

406表示您的客户指定它不接受Web服务愿意提供的格式。

假设回复为application/json,您可以change the Accept header

req.Accept = "application/json"

如果它不起作用,这意味着该网络服务实际上并未在application/json中提供回复,您应该再看一下它实际所服务的内容。

如果您不相信服务器的406,那么您应该开始查看Web服务代码并查看它返回406的原因,即使它可以产生application/json响应,并且请求具有{{1它包含在application/json标题中。