Задать вопрос
@kill94

Авторизация на Joomla?

Пытаюсь авторизация админке joomla post запросом, используя библиотеку xNet. но в результате ничего. кто знает как правильно надо делать?
вот сам код
using (var request = new HttpRequest())
                {
                    var get = request.Get("http://mysit.ru/administrator/index.php").ToString();
                    var newReg = new Regex("type=\"hidden\" name=\"(.*?)\" value=\"1\"");
                    var matches = newReg.Matches(get);
                    var token = matches.Count > 0 ? matches[0].Value : string.Empty;
                    if (token.Length > 0)
                    {
                        var startToken = token.IndexOf("name=\"", 0, token.Length, StringComparison.Ordinal);
                        var endToken = token.IndexOf("\" value", 0, token.Length, StringComparison.Ordinal);
                        token = token.Substring(startToken + "name=\"".Length,
                            token.Length - (startToken + "name=\"".Length + (token.Length - endToken)));
                    }
                    newReg = new Regex("type=\"hidden\" name=\"return\" value=\"(.*?)\"");
                    matches = newReg.Matches(get);
                    var _return = matches.Count > 0 ? matches[0].Value : string.Empty;
                    if (_return.Length > 0)
                    {
                        var startReturn = _return.IndexOf("value=\"", 0, _return.Length, StringComparison.Ordinal);
                        _return = _return.Substring(startReturn + "value=\"".Length,
                            _return.Length - (startReturn + "value=\"".Length + 1));
                    }
                    var reqParams = new RequestParams();
                    reqParams["username"] = userName;
                    reqParams["passwd"] = password;
                    reqParams["option"] = "com_login";
                    reqParams["task"] = "login";
                    reqParams["return"] = _return;
                    reqParams[token] = "1";

                    request.AllowAutoRedirect = false;                 
                    request.UserAgent = Http.FirefoxUserAgent();
                    
                    var response = request.Post(@"http://mysit.ru/administrator/index.php", reqParams);
                }
  • Вопрос задан
  • 403 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы