在我的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。 请提出一些建议。提前谢谢。
答案 0 :(得分:0)
406表示您的客户指定它不接受Web服务愿意提供的格式。
假设回复为application/json
,您可以change the Accept
header:
req.Accept = "application/json"
如果它不起作用,这意味着该网络服务实际上并未在application/json
中提供回复,您应该再看一下它实际所服务的内容。
如果您不相信服务器的406,那么您应该开始查看Web服务代码并查看它返回406的原因,即使它可以产生application/json
响应,并且请求具有{{1它包含在application/json
标题中。