代码之家  ›  专栏  ›  技术社区  ›  YosiFZ

C#HttpWebRequest表单发布数据

  •  0
  • YosiFZ  · 技术社区  · 7 年前

    在我的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 回复  |  直到 7 年前
        1
  •  1
  •   ozanmut    7 年前

    您可能正在使用旧版本的api文档,目前instagram api允许的操作非常有限。 看看这个

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

    还有这个

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

    推荐文章