新浪微博的是在Response Body里以<oauth_verifier>(.+?)</oauth_verifier>格式返回的。自己用正则截取一下

解决方案 »

  1.   

    新浪没有问题 我想问的是腾讯微博
    如何把用户WPF程序内账号密码发送请求后返回verifier验证码
      

  2.   

    腾讯提供的sdk里面不是没这个问题吗
      

  3.   


    他的官方SDK是弹网页获取的验证码丫
      

  4.   

    这是新浪微博的验证码获取方式 /// <summary>
            /// Authorizes the un-authorized request token with a SINA passport(user name and password).
            /// </summary>
            /// <res>
            /// See http://open.weibo.com/wiki/Oauth/authorize
            /// </res>
            /// <param name="requestToken">The un-authorized request token previously obtained.</param>
            /// <param name="userName">The user name of sina passport.</param>
            /// <param name="password">The password of sina passport.</param>
            /// <returns>The authorization code(aka oauth_verifier).</returns>
            public static string Authorize(string requestToken, string userName, string password)
            {
                ValidateArgument(requestToken, "requestToken");
                ValidateArgument(userName, "userName");
                ValidateArgument(password, "password");            var requester = new HttpGet(APIUri.Authorize);
                requester.Params.Add(Constants.OAuthToken, requestToken);
                requester.Params.Add("userId", UrlEncode(userName));
                requester.Params.Add("passwd", UrlEncode(password));
                requester.Params.Add(Constants.OAuthCallback, "xml");            try
                {
                    var response = requester.Request();
                    var match = Regex.Match(response, Constants.RetrieveAuthorizationCodePattern, RegexOptions.CultureInvariant);
                    if (match.Success)
                        return match.Groups[1].Value;
                    else
                        throw new AMicroblogException(LocalErrorCode.CredentialInvalid, "Invalid user name or password.");
                }
                catch
                {
                    throw new AMicroblogException(LocalErrorCode.CredentialInvalid, "Invalid user name or password.");                
                }            
            }
    public static string UrlEncode(string input)
            {
                StringBuilder newBytes = new StringBuilder();
                var urf8Bytes = Encoding.UTF8.GetBytes(input);
                foreach (var item in urf8Bytes)
                {
                    if (IsReverseChar((char)item))
                    {
                        newBytes.Append('%');
                        newBytes.Append(ByteToHex(item));                }
                    else
                        newBytes.Append((char)item);
                }            return newBytes.ToString();
            }腾讯微博的请前辈们指教下 -,#
      

  5.   

    var requester = new HttpGet(APIUri.Authorize);
    requester.Params.Add(Constants.OAuthToken, requestToken);
    requester.Params.Add("userId", UrlEncode(userName));requester.Params.Add("passwd", UrlEncode(password));requester.Params.Add(Constants.OAuthCallback, "xml");
    以上新浪微博没有问题
    腾讯微博的账户信息 未知参数和加密方式诶 不会这么坑爹吧 求教
      

  6.   

    官方提供的SDK真心可以X掉了 抄袭的还这么...