Articles of curl

axios:通过代理https请求

我正在尝试使用代理服务器的axios进行https呼叫: const url = "https://walmart.com/ip/50676589" var config = { proxy: { host: proxy.ip, port: proxy.port } } axios.get(url, config) .then(result => {}) .catch(error => {console.log(error)}) 我使用的代理服务器在美国都是非常匿名的,支持HTTP和HTTPS。 我收到这个错误: {错误:写EPROTO 140736580649920:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议:../ deps / openssl / openssl / ssl / s23_clnt.c:794: 为了确保问题是与axios而不是代理,我试过这个: curl -x 52.8.172.72:4444 -L'https://www.walmart.com/ip/50676589' 这完全正常工作。 我如何configurationaxios以使用代理和https URL?

执行HEAD请求时,curl不会返回

我正在节点服务器上创build资源并将ETag附加到它们中的每一个上。 我正在使用在这个问题中find的方法我应该使用什么编码来正确地生成nodeJSencryption的ETag? 用于生成ETags。 但是,当我使用curl在命令行上执行HEAD请求时,如: $ curl -i -u username:password -X HEAD http://localhost:3000/aResource/0 答案是 HTTP/1.1 200 OK X-Powered-By: Express ETag: "1a37c148692f92ad6c97887f77c873e6" Content-Type: text/plain Date: Sat, 26 Oct 2013 01:06:28 GMT Connection: keep-alive ^C $ 我必须特别按下Control-C才能再次看到命令提示符。 另一方面,我觉得这很奇怪,因为我处理HEAD请求的方式是通过app.head节点和身份validation后,我正在调用该函数: function serveResourceEtag(req, res) { console.log("Following route through HEAD"); var anID = parseInt(req.params[resourceID], "utf8"); if (anID < serverData.resourceEtags.length) { res.writeHead (200, […]

Nodejs – Req.body未定义在后快速4.9.0

我是nodejs的初学者,我尝试使用中间件体parsing或使用任何东西来知道req.body,但都发现req.body是未定义的。 这是我的代码 var app = require('express')(); var bodyParser = require('body-parser'); var multer = require('multer'); app.get('/', function(req, res) { res.send("Hello world!\n"); }); app.post('/module', function(req, res) { console.log(req); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(multer); console.log(req.body); }); app.listen(3000); module.exports = app; 我使用命令curl -X POST -d 'test case' http://127.0.0.1:3000/module来testing它。 快递版本:4.9.0 节点版本:v0.10.33 请帮忙,谢谢。

swagger-node-express:如何从swagger-ui上传文件?

看到这个Q&A,但没有相同的结果作为OP 如何张贴文件在大招? 在我的swagger-node-express API中使用这个规范 exports.saveFile = { 'spec' : { "description" : "Saves a file to filesystem", "path" : "/uploads/file", "notes" : "", "summary" : "POST a file to storage", "method" : "POST", /* "supportedContentTypes" : [ 'multipart/form-data' ], */ "produces":[ "application/json" ], "consumes":[ "multipart/form-data" ], "params" : [{ "name": "File", "description": "The file to […]

Nodejs – 用文件中的选项–data保留api调用

我正在从一个nodejs应用程序restAPI调用。 我的curl调用如下所示: curl -X PUT -iv -H "Authorization: bearer <token>" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Spark-Service-Instance: <spark-instance>" –data "@pipeline.json" -k https://<url> 我想在Nodejs中有类似的调用。 我无法理解如何将数据发送到一个json文件,该文件在curl调用时是–data "@pipeline.json". 我的Nodejs代码如下所示: var token = req.body.mlToken; var urlToHit = req.body.url; var SPARKINSTANCE = req.body.sparkInstance; var b = "bearer "; var auth = b.concat(token); var headers = { 'Content-Type': 'application/json', 'Authorization': […]

在相同的curl请求成功的情况下,nodejs https#请求失败

我正在尝试连接到twitter API的公共stream端点。 当我运行示例参数我从twitter api的testing工具在nodejs我得到401 unauthorized错误下面你可以看到我的nodejs示例请求 'use strict'; const https = require('https'); const qs = require('querystring'); const obj = { method: "POST", headers: { Authorization: 'OAuth oauth_consumer_key="pXZ8xSWvjZjE4UaNntVsCwWPg", oauth_nonce="776f1a4ec0c3ed9ecbfb68aa0f7e2324", oauth_signature="jk8e84V0OcgcepkL7F%2BXt2fAy8o%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1463258508", oauth_token="416282416-vFTMVJCFiRW8G6nwoFhH3OBqrJsKDbIJ93sbOm2a", oauth_version="1.0"' }, hostname: "stream.twitter.com", path: "/1.1/statuses/filter.json" } https.request(obj,res => { res.on("data", d => { console.log(d.toString()); }); }).end(qs.stringify({track:"javascript"})) 但是,如果我发送这个请求curl它完美的作品在这里是我的例子curl请求 curl –request 'POST' 'https://stream.twitter.com/1.1/statuses/filter.json' –data 'track=javascript' […]

node-request中的curl –upload-file相当于什么

我正在使用节点请求,并尝试将文件发送到IBM的HDFS,根据本文档 。 传递这个JSON对象来请求成功上传: var options = { method: 'put', body: 'foo', headers: { 'Content-Type': 'application/octet-stream', 'Transfer-Encoding': 'chunked' } }; 运行这个CURL命令也成功的上传了一个文件: curl -v -X PUT -L -b cookie.jar "https://host:port/webhdfs/v1/tmp/myLargeFile.zip?op=CREATE&data=true" –header "Content-Type:application/octet-stream" –header "Transfer-Encoding:chunked" -T "file.txt" 但是,试图指定一个文件stream如下所示: var options = { method: 'put', headers: { 'Content-Type': 'application/octet-stream', 'Transfer-Encoding': 'chunked' }, multipart : [ { body: fs.createReadStream(localFile) } […]

如何使用node.js获取SSL证书信息?

我已经使用这篇文章的答案构build了这个PHP版本。 现在我的问题是,我想要并行执行多个请求。 我已经使用node.js来做NS服务器的类似请求,所以很自然地想到。 有人可以帮我吗? 作为一种替代scheme,有人可以告诉我是否有一种方法可以使用PHP来并行执行。 谢谢!

一个networking服务器的UDP穿孔?

对于我的学术项目,我正试图做到这一点。 一个web服务器节点JS应用程序监听端口3000.所以,如果你curl http://localhost:3000你会得到Hello World! 。 (一个简单的网页。 现在我在本地机器上运行在webserver上面。 而我的调制解调器在NAT之后。 假设如果我在调制解调器端口转发到myip:3000那么它对世界开放。 但这里是我卡住的最大的东西 – 我不想使用调制解调器的端口转发,而是,我将使用第三方服务器的UDP冲孔。 现在我的要求是来自net的任何人都应该能够通过curl http://third-party-server-ip:3000来访问我的web curl http://third-party-server-ip:3000 。 我正在尝试写另一个客户端 – 它打开一个连接到第三方服务器。 说它在41234港口41234了一个洞。 那个港口是开放的。 第三方主机可以发送一些东西到那个端口。 现在任何人在互联网上启动此命令curl http://third-party-ip:3000到第三方主机。 所以第三方返回myip:udpPunchHolePort即myip:41234 。 任何人将再次curl到myip:41234它将被节点js UDP punch app收到,所以它将redirect到localhost:3000 。 最后, anyone将收到localhost:3000的响应。 我的两个问题 – 有没有比我在这里提出的更好的方法? 有没有什么知名的node-js lib这种东西,我看,我可以用UDP punch hole 。 或者我正在考虑编写一个Lib来完成这个工作 – 这听起来像是在重新发明轮子吗? 注意 – 在这个学术项目中,我们正试图学习如何让任何本地应用程序在没有调制解调器端口转发的情况下向世界开放。 我们阅读了Skype协议分析 ,这也是我们的灵感。

护照本地策略和cURL

我想用CURLtesting我的node.js + express + passport.jstesting应用程序(RESTful)。 我的代码: var express = require('express'); var routes = require('./routes'); var http = require('http'); var path = require('path'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; // Define the strategy to be used by PassportJS passport.use(new LocalStrategy( function(username, password, done) { if (username === "admin" && password === "admin") // stupid […]