Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 来自API的iCal获得AirBnb退货”;远程服务器返回错误:(403)禁止“;ASP.NET_C#_Asp.net_Icalendar - Fatal编程技术网

C# 来自API的iCal获得AirBnb退货”;远程服务器返回错误:(403)禁止“;ASP.NET

C# 来自API的iCal获得AirBnb退货”;远程服务器返回错误:(403)禁止“;ASP.NET,c#,asp.net,icalendar,C#,Asp.net,Icalendar,我想从提供AirBnb的iCal导入日期。 我正在开发ASP.NET MVC应用程序,其中包含一些名为iCal.NET的金块 守则: public ActionResult Index() { const string airbnbCalendar = "https://www.airbnb.com/calendar/ical/1111111.ics?s=zkdjhfkjsdzkhfkkjsadjkfhskjdfhjk"; Calendar calen

我想从提供AirBnb的iCal导入日期。 我正在开发ASP.NET MVC应用程序,其中包含一些名为iCal.NET的金块

守则:

public ActionResult Index()
    {

        const string airbnbCalendar = "https://www.airbnb.com/calendar/ical/1111111.ics?s=zkdjhfkjsdzkhfkkjsadjkfhskjdfhjk";

        Calendar calendar;
        using (var client = new WebClient())
        {
            byte[] file = null;

            file = client.DownloadData(airbnbCalendar);
            Stream stream = new MemoryStream(file);
            calendar = Calendar.Load(stream);
        }

        return View();
    }
我在联机客户端上遇到错误。下载数据(airbnbCalendar):

远程服务器返回错误:(403)禁止

我在谷歌上搜索了一下,发现出于某种原因,我必须“模仿”网络浏览器来满足这个请求。这里是链接到

如何将请求转换为CURL请求?为了让airbnb给我正确的数据

另外,当我将airbnb url复制到浏览器时,会得到正确的.ics文件


出于安全原因,我更改了url地址。

用户代理通过请求头传输。因此,向webclient添加一个适当的标题,如图所示。

这是我特别添加的内容,它起到了作用:

webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

我添加了
request.UserAgent=“Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/81.0.4044.138 Safari/537.36”到my
HttpWebRequest
对象,以便从AirBnb下载iCal数据