- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的 Node.JS/Express 应用程序在尝试从我的服务器代码向另一台服务器(不同公司,不属于我们的服务器)服务的 API 发出 HTTPS GET 请求时出现以下错误:
CERT_UNTRUSTED
注意:我正在使用“localhost”域从我的 Linux 机器运行这些测试。
我尝试了本文中概述的步骤来创建自签名临时证书,只是为了解决这个问题:
http://www.hacksparrow.com/node-js-https-ssl-certificate.html
但是,我仍然得到错误。 (旁注:由于我创建了使用 HTTPS 模块加载 SSL key 的服务器,服务器现在仅响应 HTTPS (https://) URL 请求。服务器不再响应非 HTTPS 请求,因为我配置了它在创建服务器时加载我的 SSL PEM 文件。奇怪的是它打印两个“listening-to server on port”提示,而它过去只打印一个)。
我该如何解决这个问题?
注意:以下代码中选项 对象中的主机名属性已更改为“虚拟”URL,因为它是 secret 的。如果您尝试该 URL,您将收到错误消息。
代码摘录:
var https = require('https');
https.globalAgent.options.secureProtocol = 'SSLv3_method';
var httpsOptions = {
hostname: dummyHostName,
port: 80,
method: 'GET',
path: '/search?text=test',
headers: {
// Request JSON response.
'Content-Type': 'application/json',
'Upgrade-Insecure-Requests': '1',
'json': 'true'
}};
var httpsReq =
https.request(httpsOptions,
function (resHttp) {
// This block is never reached due to the error.
}
我尝试按照此文档安装 ssl-root-cas NPM 包:
https://github.com/coolaj86/node-ssl-root-cas
但我无法弄清楚我需要在说明的 USAGE 部分下加载哪些 PEM 文件,这些文件显示的是虚拟文件名,所以我认为我没有正确使用它。
这是我的应用程序包列表:
├─┬ body-parser@1.13.3│ ├── bytes@2.1.0│ ├── content-type@1.0.1│ ├── depd@1.0.1│ ├─┬ http-errors@1.3.1│ │ ├── inherits@2.0.1│ │ └── statuses@1.2.1│ ├── iconv-lite@0.4.11│ ├─┬ on-finished@2.3.0│ │ └── ee-first@1.1.1│ ├── qs@4.0.0│ ├─┬ raw-body@2.1.6│ │ ├── bytes@2.3.0│ │ ├── iconv-lite@0.4.13│ │ └── unpipe@1.0.0│ └─┬ type-is@1.6.12│ ├── media-typer@0.3.0│ └─┬ mime-types@2.1.10│ └── mime-db@1.22.0├─┬ cookie-parser@1.3.5│ ├── cookie@0.1.3│ └── cookie-signature@1.0.6├─┬ debug@2.2.0│ └── ms@0.7.1├─┬ express@4.13.4│ ├─┬ accepts@1.2.13│ │ ├─┬ mime-types@2.1.10│ │ │ └── mime-db@1.22.0│ │ └── negotiator@0.5.3│ ├── array-flatten@1.1.1│ ├── content-disposition@0.5.1│ ├── content-type@1.0.1│ ├── cookie@0.1.5│ ├── cookie-signature@1.0.6│ ├── depd@1.1.0│ ├── escape-html@1.0.3│ ├── etag@1.7.0│ ├─┬ finalhandler@0.4.1│ │ └── unpipe@1.0.0│ ├── fresh@0.3.0│ ├── merge-descriptors@1.0.1│ ├── methods@1.1.2│ ├─┬ on-finished@2.3.0│ │ └── ee-first@1.1.1│ ├── parseurl@1.3.1│ ├── path-to-regexp@0.1.7│ ├─┬ proxy-addr@1.0.10│ │ ├── forwarded@0.1.0│ │ └── ipaddr.js@1.0.5│ ├── qs@4.0.0│ ├── range-parser@1.0.3│ ├─┬ send@0.13.1│ │ ├── destroy@1.0.4│ │ ├─┬ http-errors@1.3.1│ │ │ └── inherits@2.0.1│ │ ├── mime@1.3.4│ │ ├── ms@0.7.1│ │ └── statuses@1.2.1│ ├── serve-static@1.10.2│ ├─┬ type-is@1.6.12│ │ ├── media-typer@0.3.0│ │ └─┬ mime-types@2.1.10│ │ └── mime-db@1.22.0│ ├── utils-merge@1.0.0│ └── vary@1.0.1├─┬ glob@7.0.3│ ├─┬ inflight@1.0.4│ │ └── wrappy@1.0.1│ ├── inherits@2.0.1│ ├─┬ minimatch@3.0.0│ │ └─┬ brace-expansion@1.1.3│ │ ├── balanced-match@0.3.0│ │ └── concat-map@0.0.1│ ├─┬ once@1.3.3│ │ └── wrappy@1.0.1│ └── path-is-absolute@1.0.0├── http-status-codes@1.0.6├─┬ jade@1.11.0│ ├── character-parser@1.2.1│ ├─┬ clean-css@3.4.12│ │ ├─┬ commander@2.8.1│ │ │ └── graceful-readlink@1.0.1│ │ └─┬ source-map@0.4.4│ │ └── amdefine@1.0.0│ ├── commander@2.6.0│ ├─┬ constantinople@3.0.2│ │ └── acorn@2.7.0│ ├─┬ jstransformer@0.0.2│ │ ├── is-promise@2.1.0│ │ └─┬ promise@6.1.0│ │ └── asap@1.0.0│ ├─┬ mkdirp@0.5.1│ │ └── minimist@0.0.8│ ├─┬ transformers@2.1.0│ │ ├─┬ css@1.0.8│ │ │ ├── css-parse@1.0.4│ │ │ └── css-stringify@1.0.5│ │ ├─┬ promise@2.0.0│ │ │ └── is-promise@1.0.1│ │ └─┬ uglify-js@2.2.5│ │ ├─┬ optimist@0.3.7│ │ │ └── wordwrap@0.0.3│ │ └─┬ source-map@0.1.43│ │ └── amdefine@1.0.0│ ├─┬ uglify-js@2.6.2│ │ ├── async@0.2.10│ │ ├── source-map@0.5.3│ │ ├── uglify-to-browserify@1.0.2│ │ └─┬ yargs@3.10.0│ │ ├── camelcase@1.2.1│ │ ├─┬ cliui@2.1.0│ │ │ ├─┬ center-align@0.1.3│ │ │ │ ├─┬ align-text@0.1.4│ │ │ │ │ ├─┬ kind-of@3.0.2│ │ │ │ │ │ └── is-buffer@1.1.3│ │ │ │ │ ├── longest@1.0.1│ │ │ │ │ └── repeat-string@1.5.4│ │ │ │ └── lazy-cache@1.0.3│ │ │ ├─┬ right-align@0.1.3│ │ │ │ └─┬ align-text@0.1.4│ │ │ │ ├─┬ kind-of@3.0.2│ │ │ │ │ └── is-buffer@1.1.3│ │ │ │ ├── longest@1.0.1│ │ │ │ └── repeat-string@1.5.4│ │ │ └── wordwrap@0.0.2│ │ ├── decamelize@1.2.0│ │ └── window-size@0.1.0│ ├── void-elements@2.0.1│ └─┬ with@4.0.3│ ├── acorn@1.2.2│ └─┬ acorn-globals@1.0.9│ └── acorn@2.7.0├── jsonfile@2.2.3├─┬ morgan@1.6.1│ ├── basic-auth@1.0.3│ ├── depd@1.0.1│ ├─┬ on-finished@2.3.0│ │ └── ee-first@1.1.1│ └── on-headers@1.0.1├─┬ scribe-js@2.0.4│ ├── callsite@1.0.0│ ├── colors@1.1.2│ ├─┬ mkdirp@0.5.1│ │ └── minimist@0.0.8│ └── moment@2.12.0├─┬ serve-favicon@2.3.0│ ├── etag@1.7.0│ ├── fresh@0.3.0│ ├── ms@0.7.1│ └── parseurl@1.3.1└─┬ ssl-root-cas@1.2.2 ├── bluebird@3.4.6 └─┬ request@2.74.0 ├── aws-sign2@0.6.0 ├── aws4@1.4.1 ├─┬ bl@1.1.2 │ └─┬ readable-stream@2.0.6 │ ├── core-util-is@1.0.2 │ ├── inherits@2.0.1 │ ├── isarray@1.0.0 │ ├── process-nextick-args@1.0.7 │ ├── string_decoder@0.10.31 │ └── util-deprecate@1.0.2 ├── caseless@0.11.0 ├─┬ combined-stream@1.0.5 │ └── delayed-stream@1.0.0 ├── extend@3.0.0 ├── forever-agent@0.6.1 ├─┬ form-data@1.0.1 │ └─┬ async@2.0.1 │ └── lodash@4.15.0 ├─┬ har-validator@2.0.6 │ ├─┬ chalk@1.1.3 │ │ ├── ansi-styles@2.2.1 │ │ ├── escape-string-regexp@1.0.5 │ │ ├─┬ has-ansi@2.0.0 │ │ │ └── ansi-regex@2.0.0 │ │ ├─┬ strip-ansi@3.0.1 │ │ │ └── ansi-regex@2.0.0 │ │ └── supports-color@2.0.0 │ ├─┬ commander@2.9.0 │ │ └── graceful-readlink@1.0.1 │ ├─┬ is-my-json-valid@2.13.1 │ │ ├── generate-function@2.0.0 │ │ ├─┬ generate-object-property@1.2.0 │ │ │ └── is-property@1.0.2 │ │ ├── jsonpointer@2.0.0 │ │ └── xtend@4.0.1 │ └─┬ pinkie-promise@2.0.1 │ └── pinkie@2.0.4 ├─┬ hawk@3.1.3 │ ├── boom@2.10.1 │ ├── cryptiles@2.0.5 │ ├── hoek@2.16.3 │ └── sntp@1.0.9 ├─┬ http-signature@1.1.1 │ ├── assert-plus@0.2.0 │ ├─┬ jsprim@1.3.0 │ │ ├── extsprintf@1.0.2 │ │ ├── json-schema@0.2.2 │ │ └── verror@1.3.6 │ └─┬ sshpk@1.10.0 │ ├── asn1@0.2.3 │ ├── assert-plus@1.0.0 │ ├─┬ bcrypt-pbkdf@1.0.0 │ │ └── tweetnacl@0.14.3 │ ├── dashdash@1.14.0 │ ├── ecc-jsbn@0.1.1 │ ├── getpass@0.1.6 │ ├── jodid25519@1.0.2 │ ├── jsbn@0.1.0 │ └── tweetnacl@0.13.3 ├── is-typedarray@1.0.0 ├── isstream@0.1.2 ├── json-stringify-safe@5.0.1 ├─┬ mime-types@2.1.11 │ └── mime-db@1.23.0 ├── node-uuid@1.4.7 ├── oauth-sign@0.8.2 ├── qs@6.2.1 ├── stringstream@0.0.5 ├── tough-cookie@2.3.1 └── tunnel-agent@0.4.3
最佳答案
如果您有一台使用自签名证书的服务器(或者服务器的域与 URL 中定义的域不同),那么它只是加密数据而不是识别自己。这就是为什么 node.js 会出错的原因,但是如果你想忽略这个问题(这基本上是我理解的你的问题),你可以在你的 httpsOptions 中传递以下属性:
rejectUnauthorized=false
查看更多信息:
https://nodejs.org/api/https.html#https_https_request_options_callback
关于node.js - 在 Node.JS 应用程序中执行服务器端 HTTPS 请求时出现 "CERT_UNTRUSTED"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39340023/
我有一个包含数字和整数的文件,我只想读取整数, 如果它们令人讨厌,请忽略宏,但是我只需要有整数,但是我必须确保还要读取字符串,然后忽略它们 我必须在这里修改什么: #include #include
我有一个这样格式化的txt文件: MyDepartureTown MyDestinationTown 123.45 Vehicle 12 我正在尝试将数据导入到我的 C 程序中。这是我用来实现这一目标
我创建了一个简单的文件,使用 flex,它生成了一个文件 lex.yy.c,现在,我想把它放到 C++ 程序中。 %{ #include %} %% stop printf("Stop co
我的一个程序用 c++ 代码生成一个大文件。有没有办法从另一个C++类调用将生成的代码插入其中? 这是一个小例子,可以清楚地说明我想要实现的目标。 生成的文件示例: FirstClass first
我需要了解我的程序“检查输入十六进制消息的第三个位置” 程序将采用十六进制值输入消息。例如0x0123456789abcdef 程序将检查输入消息的第三个位置,即 0 现在程序将采用另一条十六进制值的
当我将输入从输入文件重定向到 yacc 程序时,在它完成解析文件后,我希望 yacc 解析器打印其所做操作的摘要。如果我通过键盘输入内容然后按 Ctrl+D,我希望它执行相同的操作。有办法做到这一点吗
我正在扫描该文件,但它有两种不同的结构。 文件: ParisRoubaix "Marco MARCATO" 33 UAD ITA 26 5:43:31 ParisRoubaix "Sam BEWLEY
我想将winsock2.lib 添加到我的程序中,但不希望将其包含到最终的可执行文件中。有什么方法可以让我动态加载与winsock2关联的dll吗?如果没有,是否有任何 dll(Windows 附带)
我尝试了一个基本程序来将数据从数据库表检索到java程序中。编译结束后,运行代码时出现异常。控制台中没有显示错误。显示异常消息 import java.sql.*; public class clas
我想用 C++ 创建一个跨平台安装程序。它可以是任何压缩类型,例如 zip 或 gzip,像普通安装程序一样嵌入程序本身。我不想在不同的平台、linux 和 windows 上创建很多更改。如何跨平台
每次尝试用鼠标输入两个顶点时,我都会崩溃。我最近改变了组织每个形状的方式,以确保新形状与旧形状重叠。 这个项目的想法是制作各种交互式 Canvas 。用户可以在直线、三角形和矩形之间进行选择,然后选择
我想在我的程序中显示以下文本。当我在 python 中粘贴以下文本时,它会将反斜杠解释为转义序列并弄乱我的 ascii 艺术..任何解决这个问题的想法极客。这是我的文本想出现在我的节目中 _ _
我正在尝试加载名为 Tut16_ReadText.txt 的文件,并使其运行程序以输出其重或轻。 我收到了粘贴在下面的错误。我无法抽出时间让这个程序运行。谁能解释一下我必须做什么才能使这个程序正常工作
我想使用命令行将列表作为参数传递,例如: $python example.py [1,2,3] [4,5,6] 我希望第一个列表 [1,2,3] 成为 first_list,[4,5,6] 成为 se
在分析 C# 应用程序时,我发现名为“ThePreStub”的系统 (?) 方法中有相当多的 CPU 使用率。这是什么? 最佳答案 参见:CLR Inside out - The Performanc
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this qu
我正在用 Python 开发一个游戏,想知道如何给它自己的图标。我使用的是 Windows 计算机,没有安装 Python 的额外东西。哦,我也在使用 3.3 版,这甚至可能吗? P.S 我在 Sta
我正在使用 tkinter 使用 Python 开发一个项目,该项目将允许对 IP 地址进行地理定位。我有原始转换,我可以获取 IP 地址并知道城市、州、国家、经度、纬度等。我想知道是否有任何方法可以
我编写了一个程序,您可以在其中选择任意数字并将其与任意数字的幂相关联。代码运行正常,直到它到达某个部分,然后我必须输入一个字符以使其移动到代码的下一部分。这就是我的意思: #include int
我正在编写“HACKING Art Of Exploitation”一书练习 Convert2.c 第 61 页。 这是我的代码。下面是我的问题。 #include void usage(char
我是一名优秀的程序员,十分优秀!