Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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
Node.js https失败,而浏览器'curl`&`成功吗?_Node.js_Https_Http Headers_Http Status Code 403_Node Https - Fatal编程技术网

Node.js https失败,而浏览器'curl`&`成功吗?

Node.js https失败,而浏览器'curl`&`成功吗?,node.js,https,http-headers,http-status-code-403,node-https,Node.js,Https,Http Headers,Http Status Code 403,Node Https,后续请求: 请求失败: 失败请求的输出: statusCode: 403 ; 我假设您试图从远程服务器获取一个您无权访问的文件。当您使用nodejs https包调用远程服务器时,必须设置用户代理。请尝试以下代码: let https = require('https') let pageUrl = 'https://svn.tools.ietf.org/svn/tools/xml2rfc/trunk/cli/xml2rfc/data/xml2rfc.css' let url = requ

后续请求:

请求失败:

失败请求的输出:

statusCode: 403 ;

我假设您试图从远程服务器获取一个您无权访问的文件。当您使用nodejs https包调用远程服务器时,必须设置用户代理。请尝试以下代码:

let https = require('https')
let pageUrl = 'https://svn.tools.ietf.org/svn/tools/xml2rfc/trunk/cli/xml2rfc/data/xml2rfc.css'
let url = require('url')

let options = url.parse(pageUrl)
options.headers = {
    'User-Agent': 'request'
};
let req = https.get(options, (res) => {
    console.log("statusCode: ", res.statusCode);
    console.log("headers: ", res.headers);
    let data = ""
    res.on('data', (chunk) => {
        data += chunk
    })

    res.on('end', (chunk) => {
        console.log("ended")
        console.log(data)
    })
})

谢谢,成功了。奇怪的是,需要设置
用户代理
,而这不是默认设置。
statusCode: 403 ;
let https = require('https')
let pageUrl = 'https://svn.tools.ietf.org/svn/tools/xml2rfc/trunk/cli/xml2rfc/data/xml2rfc.css'
let url = require('url')

let options = url.parse(pageUrl)
options.headers = {
    'User-Agent': 'request'
};
let req = https.get(options, (res) => {
    console.log("statusCode: ", res.statusCode);
    console.log("headers: ", res.headers);
    let data = ""
    res.on('data', (chunk) => {
        data += chunk
    })

    res.on('end', (chunk) => {
        console.log("ended")
        console.log(data)
    })
})