ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

User authorization failed из за чего?
  #1  
Старый 01.03.2010, 19:43
Alv
Познающий
Регистрация: 30.01.2007
Сообщений: 69
Провел на форуме:
1405367

Репутация: 47
Отправить сообщение для Alv с помощью ICQ
По умолчанию User authorization failed из за чего?

http://api.vkontakte.ru/api.php?api_id=652647&method=getGroups&sig=48af6f2 fb49c3727745d800d964df178
При переходе по ссылки все окей.
Но при:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        public static string XmlGet(string link, string name)
        {
            XmlTextReader reader = new XmlTextReader(link);
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && name.Equals(reader.LocalName))
                {
                    return reader.ReadElementContentAsString();
                }
            }
            return string.Empty;
        }
        static void Main(string[] args)
        {
            string xml = @"http://api.vkontakte.ru/api.php?api_id=652647&method=getGroups&sig=48af6f2fb49c3727745d800d964df178";
            string b = XmlGet(xml, "error");
Console.WriteLine(b);
Console.ReadLine();

        }
    }
}
User authorization failed.
Почему? Я все делаю правильно.

Как сделать авторизацию на сервере?
 
Ответить с цитированием

  #2  
Старый 01.03.2010, 19:59
FEV
Новичок
Регистрация: 23.09.2009
Сообщений: 16
Провел на форуме:
1126888

Репутация: 2
Отправить сообщение для FEV с помощью ICQ
По умолчанию

1. не тот раздел
2. с чего ты взял, что "XmlTextReader reader = new XmlTextReader(link);" отправит гет запрос link на сервер?
 
Ответить с цитированием

  #3  
Старый 01.03.2010, 20:03
Alv
Познающий
Регистрация: 30.01.2007
Сообщений: 69
Провел на форуме:
1405367

Репутация: 47
Отправить сообщение для Alv с помощью ICQ
По умолчанию

С secure у меня все окей.
Код:
using System;
using System.Text;
using System.Security.Cryptography;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;

public partial class Balance : System.Web.UI.Page
{
    public Random rnd = new Random();
    public string MD5(string instr)
    {
        string strHash = string.Empty;

        foreach (byte b in new MD5CryptoServiceProvider().ComputeHash(Encoding.Default.GetBytes(instr)))
        {
            strHash += b.ToString("X2").ToLower();
        }
        return strHash;
    }
    public string XmlGet(string link, string name)
    {
        XmlTextReader reader = new XmlTextReader(link);
        while (reader.Read())
        {
            if (reader.NodeType == XmlNodeType.Element && name.Equals(reader.LocalName))
            {
                return ((UInt16)reader.ReadElementContentAsInt()).ToString();
            }
        }
        return string.Empty;
    }
    public int UnixTime()
    {
        TimeSpan ts;
        ts = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0));
        return (int)ts.TotalSeconds;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        string apiid = Request.QueryString["api_id"];
        if (apiid == "652647")
        {
            string userid = Request.QueryString["user_id"];
            string viewerid = Request.QueryString["viewer_id"];
            string authkey = Request.QueryString["auth_key"];
            string paykey = "123456";
            string version = "2.0";
            string test = MD5(apiid + "_" + viewerid + "_" + paykey);
            if (test == authkey)
            {
                int time = UnixTime();
                int unique = rnd.Next(50000);
                string sig = MD5("api_id=" + apiid + "method=secure.getBalancerandom=" + unique + "timestamp=" + time + "uid=" + viewerid + "v=" + version + paykey);
                string xml = @"http://api.vkontakte.ru/api.php?api_id=" + apiid + "&method=secure.getBalance&random=" + unique + "&sig=" + sig + "&timestamp=" + time + "&uid=" + viewerid + "&v=" + version;

                    Response.Write("<?xml version='1.0' encoding='utf-8'?><root><balance>" + XmlGet(xml, "balance") + "</balance></root>");
            }
            else
            {
                Response.Write("<?xml version='1.0' encoding='utf-8'?><root><balance>0</balance></root>");
            }
        }
        else
        {
            Response.Write(@"<font color=""red"">Ошибка доступа</font>");
        }
    }
}
Вот это работает без проблем.
 
Ответить с цитированием

  #4  
Старый 09.04.2010, 17:24
Alv
Познающий
Регистрация: 30.01.2007
Сообщений: 69
Провел на форуме:
1405367

Репутация: 47
Отправить сообщение для Alv с помощью ICQ
По умолчанию

Разабрался. Они не сделали авторизацию на сервере -(
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
captcha сдохла MDxaker ICQ 5 18.03.2009 19:56
С чего начать свой путь.(Для новичков) TreV@N Болталка 34 13.03.2009 22:37



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ