Задать вопрос
blood-moon
@blood-moon
Фрилансер

Как спарсить токен с сайта?

Вот кусок HTML из которого нужно достать токен для дальнейшей авторизации
Клик

<input type="hidden" value="" name="signin-form[votes]" id="signin-form_votes" />
<input type="hidden" value="" name="signin-form[subs]" id="signin-form_subs" />
<input type="hidden" value="" name="signin-form[post_referer]" id="signin-form_post_referer" />
<input type="hidden" value="5a199c66783ce5b7bJWTqfRIYCN3Id0YR0Oklel5a-5HWNTU-G2gM-UGMaiHBVUiSwhbJR6tpPLATrfW" name="signin-form[csrf_token]" id="signin-form_csrf_token" />


Пробую вот так
Клик

string token = pars(html, "<input type=\"hidden\" value=\"","\"",3);
        public static string pars(string strSource, string strStart, string strEnd, int startPos)
        {
            int iPos, iEnd, lenStart = strStart.Length;
            string strResult = "";

            iPos = strSource.IndexOf(strStart, startPos);
            iEnd = strSource.IndexOf(strEnd, iPos + lenStart);

            if (iPos != -1 & iEnd != -1)
            {
                strResult = strSource.Substring(iPos + lenStart, iEnd - (iPos + lenStart));
            }
            return strResult;
        }

  • Вопрос задан
  • 255 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@Akshin17
Пайтон програмист
через регулярку можно что-то типо этого
value="(\w+.\w+.\w+.\w+)
Ответ написан
blood-moon
@blood-moon Автор вопроса
Фрилансер
На другом борде помогли с регуляркой
(?<=
Но всё ещё нечего не получается
string pattern = @"(?<=<input type=""hidden"" value="").*(?= ("" name=""signin - form\[csrf_token\]""))";
string token = Regex.Match(html, pattern).Groups[1].Value;
MessageBox.Show(token);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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