我可能偶然发现了TweetSharp或Hammock中的一个奇怪的错误。当试图通过以下常规程序从Twitter获取授权令牌时:
TwitterService service = new TwitterService(API_KEY,API_SECRET);
OAuthRequestToken request = service.GetRequestToken(GetCallBackUrl());
我注意到如果回调url包含IP地址而不是机器名(localhost / SERVER1等),页面将永远加载,然后抛出ArgumentNullException。
System.ArgumentNullException: Value cannot be null.
Parameter name: query at System.Compat.Web.HttpUtility.ParseQueryString(String query, Encoding encoding)
in f:\src\hammock\src\net40\Hammock.ClientProfile\Mono\HttpUtility.cs:line 1220 at
System.Compat.Web.HttpUtility.ParseQueryString(String query)
in f:\src\hammock\src\net40\Hammock.ClientProfile\Mono\HttpUtility.cs:line 1214
at TweetSharp.TwitterService.GetRequestToken(String callback)
in f:\src\tweetsharp\src\TweetSharp\TwitterService.OAuth.cs:line 173
at TwitterForm.SetAuthUrl()
at TwitterForm.Page_Load(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
一旦我切换回PC名称,有时候一切似乎都很好。 在大多数客户端,切换到名称工作,但在某些情况下,它不会并且不断抛出上述错误。我怀疑改为PC名称的人不起作用,可能是因为他们正在使用代理服务器。我会继续进行故障排除。
目前我只是想知道是否有人可以解决这个问题?
答案 0 :(得分:1)
最后,这个错误不是由IP地址引起的,而是由于与代理服务器身份验证相关的问题。我们用来访问代理服务器的帐户有一个密码保持过期,切换到一个固定密码的帐户解决了它。