REST服务 - 对于某些密码,从ASP.NET 4.0调用失败

时间:2013-12-17 15:51:39

标签: rest webforms passwords asp.net-4.0

我从ASP.NET 4.0 Webforms应用程序调用基于REST的服务API。

REST服务需要HTTP Basic Auth,到目前为止一直运行良好。我正在使用此代码段来定义我的HttpWebRequest对象的凭据(serviceUsernameserviceUserPasswordserviceUrl是传入的字符串):

NetworkCredential credentials = new NetworkCredential(serviceUsername, serviceUserPassword);

HttpWebRequest httpReq = WebRequest.Create(serviceUrl) as HttpWebRequest;
httpReq.Credentials = credentials;
httpReq.Method = "GET";
httpReq.Accept = "application/json";

然后我解雇了我的请求。

今天,突然之间,对于一个客户来说,事情变得混乱了。似乎没有任何东西可以工作 - 我的所有调用都被HTTP 401 - Unauthorized拒绝了 - 即使使用相同的URL和凭据,我也可以从Fiddler调用这个REST API。

最终的原因是密码中有£个字符......

所以Fiddler似乎已经以某种方式优雅地处理了这个问题 - 而ASP.NET却嗤之以鼻。即使我的客户决定在他们的(可能是机器生成的)密码中放入一个英镑符号,我还需要做多少步骤才能使ASP.NET 4.0 正常工作?任何技巧或方法来处理这个?

0 个答案:

没有答案