首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用node.js发送webcal请求?

如何用node.js发送webcal请求?
EN

Stack Overflow用户
提问于 2015-01-21 16:18:19
回答 1查看 2.6K关注 0票数 1

我试图解析icloud日历(CalDav)。日历可以通过webcal协议访问。日历的地址看起来像webcal://p19-calendarws.icloud.com/ca/....

所以我的问题(希望很简单)是:如何用webcal协议发送请求?我对请求模块进行了尝试,但是得到了错误消息[Error: Invalid protocol: webcal:],nativ模块似乎不适合这样做。

"webcal://p19-calendarws.icloud.com/ca/**************";编辑:使用http-模块: var url =来尝试

代码语言:javascript
复制
var http = require('http');
    http.get(url, function(res) {
      console.log("Got response: " + res.statusCode);
    }).on('error', function(e) {
      console.log("Got error: " + e.message);
    });

获取以下错误:Error: Protocol:webcal: not supported.

解决方案:首先,我必须在日历地址中用https://替换webcal://。苹果将重定向到日历的icalendar文件。由于重定向,我使用了请求模块,它很好地处理重定向。

代码语言:javascript
复制
var request = require('request');
    var calendarUrl = 'webcal://p19-calendarws.icloud.com/*****';

    var options = {
      url: calendarUrl.replace('webcal://', 'https://'),
      gzip: true
    };

    request(options, function (error, response, icalData) {
      console.log(icalData);
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-21 18:11:22

WebCal就是http。你所要做的就是更换这个计划。

之所以使用不同的方案,是因为浏览器能够很容易地使用不同的应用程序来处理请求,但这是100%的单一HTTP请求和一个GET。不是DAV。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28071912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档