.NET HTTP POST Method - Cookies AirFrames.org

本文关键字:Cookies AirFrames org Method HTTP POST NET | 更新日期: 2023-09-27 18:07:33

尝试使用c# POST HttpWebRequest到airframes.org获取飞机信息。这是我用于许多其他POST请求的代码,没有问题(与其他url一起使用),但它/我无法使用ICAO24号码(A64294)加载airframes.org页面。

        var cookies = new CookieContainer();
        ServicePointManager.Expect100Continue = false;
        var request = (HttpWebRequest)WebRequest.Create("http://www.airframes.org/");
        request.CookieContainer = cookies;
        request.Method = "POST";
        request.KeepAlive = true;
        request.ContentType = "application/x-www-form-urlencoded";
        using (var requestStream = request.GetRequestStream())
        using (var writer = new StreamWriter(requestStream))
        {
            writer.Write("reg=&selcal=&icao24=A64294&submit=submit");
        }
        using (var responseStream = request.GetResponse().GetResponseStream())
        using (var reader = new StreamReader(responseStream))
        {
            var result = reader.ReadToEnd();
            Console.WriteLine(result);
        }

.NET HTTP POST Method - Cookies AirFrames.org

请注意,该网站有一个无机器人政策,这就是为什么你的请求不会工作。

话虽这么说,如果您仍然希望请求页面,添加一个用户代理字符串(这样您的请求看起来就像来自浏览器)就可以了:

request.UserAgent = "Mozilla/6.0 (Windows NT 6.2; WOW64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1";

尊重网站的政策通常是个好主意。以上代码仅供参考。