iCal from API GET AirBnb returns "The remote server returned an error: (403) Forbidden" ASP.NET
iCal from API GET AirBnb returns "The remote server returned an error: (403) Forbidden" ASP.NET
我想从提供 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();
}
我在行 client.DownloadData(airbnbCalendar):
上收到错误
The remote server returned an error: (403) Forbidden
我用谷歌搜索了一下,发现出于某种原因,我必须 "imitate" 一个网络浏览器才能满足该请求。这是 link 到 airbnb forum
如何将我的请求转换为 CURL 请求?为了 airbnb 给我正确的数据?
P.S。当我将 airbnb url 复制到浏览器时,我得到了正确的 .ics 文件
出于安全原因,我更改了 url 地址。
User-Agent
通过 request-header 传输。因此,将适当的 header 添加到网络客户端,如图所示 here.
这是我特别添加的并且有效:
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, like Gecko) Chrome/81.0.4044.138 Safari/537.36";
添加到我的 HttpWebRequest
对象,以便从爱彼迎下载 iCal 数据
我想从提供 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();
}
我在行 client.DownloadData(airbnbCalendar):
上收到错误The remote server returned an error: (403) Forbidden
我用谷歌搜索了一下,发现出于某种原因,我必须 "imitate" 一个网络浏览器才能满足该请求。这是 link 到 airbnb forum
如何将我的请求转换为 CURL 请求?为了 airbnb 给我正确的数据?
P.S。当我将 airbnb url 复制到浏览器时,我得到了正确的 .ics 文件
出于安全原因,我更改了 url 地址。
User-Agent
通过 request-header 传输。因此,将适当的 header 添加到网络客户端,如图所示 here.
这是我特别添加的并且有效:
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, like Gecko) Chrome/81.0.4044.138 Safari/537.36";
添加到我的 HttpWebRequest
对象,以便从爱彼迎下载 iCal 数据