在SilkJS中的curl中设置标题

时间:2014-01-04 01:25:25

标签: curl silkjs

我正在尝试在SilkJS中为简单的HTTP请求设置标头..请求很好但没有我的标题..

curl.setHeader()方法只返回'undefined',从我在文档中可以读到的内容(http://www.silkjs.net/documentation/builtin/curl#curl-setHeader),它应该返回整数0表示成功,否则返回错误代码..是'undefined'某种错误代码?!

这是一个重现问题的简单测试:

SilkJS> var curl = require('builtin/curl');
undefined
SilkJS> curl
[object Object]
SilkJS> var handle = curl.init('http://www.google.com/')
undefined
SilkJS> handle
[object Object]
SilkJS> var status = curl.setHeader(handle, 'asdf=asdf')
undefined
SilkJS> status
undefined

2 个答案:

答案 0 :(得分:0)

文档很糟糕,它描述了设置cookie“NAME = CONTENT”的格式,而不是设置标题的预期方式,“NAME:CONTENT”。

当我浏览源代码时,我注意到了这一点。

状态标志仍未定义,但现在我可以看到http请求中有标题:

SilkJS> var status = curl.setHeader(handle, 'asdf: asdf')
undefined
SilkJS> status
undefined
SilkJS> curl.perform(handle, 1)
* About to connect() to www.google.com port 80 (#0)
*   Trying 74.125.143.103... * connected
> GET / HTTP/1.1
User-Agent: SilkJS/1.0
Host: www.google.com
Accept: */*
asdf: asdf

< HTTP/1.1 302 Found
...

答案 1 :(得分:0)

谢谢Nik。

参见本页:

http://silkjs.net/documentation/cURL

您正在使用最低级别的例程来访问curl。有一个更高级别的类访问curl,它具有JavaScript风格而不是“C”风格的过程风格。

任何内置的。*方法都是低级的,绝对没有错误检查。您可以将无效值作为参数传递给这些函数,程序将核心转储(崩溃)。

目的是编写执行错误检查的JavaScript类或接口,并调用内置方法。