C # HttpWebRequest Форма публикации данных - PullRequest
0 голосов
/ 11 марта 2019

В моем приложении C # Winform я пытаюсь отправить данные поста формы на веб-страницу Instagram:

try
{
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://www.instagram.com/create/configure/");
    req.Method = "POST";

    if (req.CookieContainer == null)
        req.CookieContainer = new CookieContainer();

    foreach (System.Net.Cookie cookie in cookies)
    {
        req.CookieContainer.Add(cookie);
    }

    String postData = "upload_id=" + upload_id + "&caption=Wow&usertags=&custom_accessibility_caption=&retry_timeout=";
    var data = Encoding.UTF8.GetBytes(postData);


    req.ContentType = "application/x-www-form-urlencoded";
    req.ContentLength = data.Length;
    req.Accept = "*/*";
    req.Referer = "https://www.instagram.com/create/details/";
    req.Headers["accept-encoding"] = "gzip, deflate, br";
    req.Headers["accept-language"] = "en-US,en;q=0.9";
    req.Headers["origin"] = "https://www.instagram.com";
    req.UserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1";

    req.Headers["x-requested-with"] = "XMLHttpRequest";
    req.Headers["x-ig-app-id"] = "1217981644879628";
    req.Headers["x-csrftoken"] = csrftoken;
    req.Headers["x-instagram-ajax"] = rolloutHash;

    using (Stream requestStream = req.GetRequestStream())
    {
        requestStream.Write(data, 0, data.Length);
        requestStream.Close();
    }

    string source;
    using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))
    {
        source = reader.ReadToEnd();
    }

    return source;
}
catch (Exception e)
{
    int t = 0;
    t++;
}

return "";

Но я всегда получаю 400 исключений от этого.Есть идеи, в чем может быть проблема?

1 Ответ

1 голос
/ 11 марта 2019

Вы, вероятно, используете старую версию документации api, в настоящее время instagram api допускает очень ограниченные действия.отметьте это

https://www.instagram.com/developer/endpoints/

и это

https://developers.facebook.com/docs/instagram-api/reference/media

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...