php - PHP curl需要很长时间才能执行,最后它在de nodejs服务器上没有做任何事情
问题描述
我正在使用 nodejs 和 socket.io 设置一个新的通知服务器。它正在工作的服务器,我可以使用邮递员发送 POST 请求并确实发送通知,但是使用 PHP 需要很长时间才能使用 curl 发送 POST 并且它并没有真正工作
nodejs 服务器在 debian 9 上运行,我从 let's encrypt 获得了 SSL 证书,因此它已经过身份验证,就像我之前使用邮递员 ( https://www.getpostman.com/ ) 所说的那样,我可以发出 POST 请求并正常工作。我正在向通知发送带有密钥的标题和带有数据的正文
#!/usr/bin/env node
var fs = require('fs');
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const port = process.env.PORT || 49152;
const notificationSecret = process.env.NOTIFICATION_SECRET;
var server;
if(process.env.SSL_KEY && process.env.SSL_CERT) {
var options = {
key: fs.readFileSync(process.env.SSL_KEY_PATH),
cert: fs.readFileSync(process.env.SSL_CERT_PATH)
};
server = require('https').createServer(options, app);
} else {
console.log("Error creating the server, missing KEY OR CERT");
}
const io = require('socket.io')(server);
server.listen(port, () => console.log('Server listening at port %d', port));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(express.static(__dirname + '/public'));
app.post('/send', (req, res) => {
...更多但不重要
和 PHP
$data = array("notification" => "IF THIS WORKS", "channel" => "myChannel");
$payload = json_encode($data);
// Prepare new cURL resource
$ch = curl_init('IP/send');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
// Set HTTP Header for POST request
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'notification_secret: ')
);
// Submit the POST request
$result = curl_exec($ch);
// Close cURL session handle
curl_close($ch);
任何人都知道我可以尝试解决什么?
解决方案
推荐阅读
- reactjs - 如何构造 ReactJS 组件文件夹?
- html - How to replace html tags but keep the text in between?
- javascript - 如何将图标放置在文本的右侧
- c# - 解决警告 CS1998 时如何处理异常:此异步方法缺少“等待”运算符
- vb.net - Invalid object name space
- elixir - 在 Phoenix Elixir 中调用带有渲染的视图
- c# - 用于“dotnet build”的 C# 8 命令行编译器的最小安装
- ruby-on-rails - Rails Locals - 传递连接的模型数据
- dart - 使用颤振的多用户应用程序
- python - 检查随机生成的数组中是否存在值