【问题标题】:TweetSharp exception if callback url contains IP Address如果回调 url 包含 IP 地址,则 TweetSharp 异常
【发布时间】:2013-06-11 05:54:42
【问题描述】:

我可能在 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 名称不起作用的人可能是因为他们正在使用代理服务器。我会继续排查问题。

现在我只想知道是否有人对此有可能的解决方法或解决方案?

【问题讨论】:

  • 我现在也有同样的问题,真的不知道如何解决。我正在开发一个 MVC4 项目,让用户使用 Twitter 的 OpenID :(
  • 在 Twitter 上对 OpenID 没有太多经验,因此可能无法提供帮助。

标签: asp.net tweetsharp hammock


【解决方案1】:

最终发现这个错误不是由 IP 地址引起的,而是与代理服务器身份验证相关的问题引起的。我们用来访问代理服务器的帐户的密码一直过期,切换到具有固定密码的帐户即可解决。

【讨论】:

  • 您能否详细说明代理问题是什么?
  • 抱歉,一年过去了。问题是代理服务器上的身份验证错误,我们使用的帐户的密码一直过期。
  • 谢谢,如果您将其添加到您的答案中,它将对其他人更有帮助。
猜你喜欢
  • 1970-01-01
  • 2013-11-16
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多