我可能在 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 名称,有时一切似乎都很好。在大多数客户端上,切换到 Name 有效,但在某些客户端上,它不会并不断抛出上述错误。我怀疑更改为 PC 名称不起作用的人可能是因为他们正在使用代理服务器。我会继续排除故障。
现在我只想知道是否有人有可能的解决方法或解决方案?