Выполнение POST запроса в одноклассники

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Warped, 6 Nov 2014.

  1. Warped

    Warped Banned

    Joined:
    24 Feb 2014
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток!
    Подскажите, кто занимается написанием софта для отправки сообщений с использованием POST/GET запросов. Не могу выполнить POST запрос на одноклассники. С# библиотека xNet

    Пытаюсь запостить тестовое сообщение в группу, авторизуюсь через мобильную версию, запрос тоже отправляю через мобильную версию. После отправки получаю в ответ страницу где новость не запостилась, а просто вставляется в поле для ввода, либо получаю в ответ хтмл код с инфо об ошибке.

    Анализируя пост запросы так же заметил какой-то параметр
    STKN ZDX/ulXhnai6CxJ73YEyIgrHtRlZWbpO

    Параметр постоянно меняется. Кто сталкивался, как генерируется параметр? Как выполнить пост запрос? (ботод и одинвайтер как-то сделали, значит реально..)
     
  2. trolex

    trolex Well-Known Member

    Joined:
    6 Dec 2009
    Messages:
    592
    Likes Received:
    1,392
    Reputations:
    6
    не пробовал искать этот код в исходнике страницы с которой отсылается пост запрос?
     
  3. Warped

    Warped Banned

    Joined:
    24 Feb 2014
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Спасибо, действительно удалось найти этот параметр, но уперся в другую проблему, не получается запостить сообщение в группу.Через мобильную версию получилось нормально, но там можно постить только текст без превью. При отправке на веб версию получаю в ответ <!--{"status":"error","errorCode":"error.other"}-->

    Теоретически это возникает из-за параметра TKN, этот параметр меняется после каждого пост запроса, вроде правильно указал. Без этого параметра в заголовке приходит пустое сообщение.

    Подскажите, кто делал подобный запрос, как боролись с этим.

    Code:
     public static string PostOKMessage1()
            {
                using (var Request = new HttpRequest())
                {
                    HttpResponse Response;
    
                    Request.AllowAutoRedirect = false;
                    Request.UserAgent = HttpHelper.FirefoxUserAgent();
                    Request.Cookies = Globals.cookies;
    
                    Request.AddHeader("(Request-Line)", "POST /group/52129319878724?cmd=MediaTopicPost&gwt.requested=e0a49a85&st.cmd=altGroupMain&st.groupId=52129319878724&p_sId=" + p_sId + " HTTP/1.1");
    
                    Request.AddHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
                    Request.AddHeader("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
                    Request.AddHeader("TKN", tkn);
                    Request.AddHeader("Last-Request-Key", "altGroupMain");
                    Request.AddHeader("Referer", "http://www.odnoklassniki.ru/group/52129319878724");
                    Request.KeepAlive = true;
    
                    string st = "{\"formType\":\"Group\", \"postDataList\":[{\"textWithMentions\":{\"text\":\"тест\"}}], \"toStatus\":false}";
    
                    Request.AddParam("st.status.postpostForm", postPostForm);
                    Request.AddParam("st.status.postgroupId", "52129319878724");
                    Request.AddParam("postingFormData", st);
    
                   
                    Response = Request.Post("http://www.odnoklassniki.ru/group/52129319878724?cmd=MediaTopicPost&gwt.requested=" + gwtHash + "&st.cmd=altGroupMain&st.groupId=52129319878724&p_sId=" + p_sId);
                    
                    String responseText = Response.ToString();
    
                    Globals.Log(responseText.ToString());
    
                   
                    return responseText;
    
                }
            }
    
     
  4. yoweb

    yoweb Banned

    Joined:
    17 Jun 2013
    Messages:
    120
    Likes Received:
    2
    Reputations:
    0
    лучше используй эмуляцию браузера,
    на qt framework c++
     
  5. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Чем это лучше?


    Но за это приходится платить скоростью и ресурсами.
     
    #5 M_script, 20 Nov 2014
    Last edited: 20 Nov 2014
  6. yoweb

    yoweb Banned

    Joined:
    17 Jun 2013
    Messages:
    120
    Likes Received:
    2
    Reputations:
    0
    M_script, проще, да и писать кода меньше.