Articles of httprequest

GET请求在node.js不起作用

我有很大的麻烦,通过Node.js加载页面。 这是我的Node.js应用程序的代码,请注意,如果我尝试加载其他资源(如www.google.com),因此问题是特定于域名www.egopay.com它的作品: var http = require('http'); var options = { hostname: 'www.egopay.com', port: 80, path: '/', method: 'GET' }; var req = http.request(options, function(res) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers)); res.setEncoding('utf8'); res.on('data', function (chunk) { console.log('BODY: ' + chunk); }); }); req.on('error', function(e) { console.log('problem with request: ' + e.message); }); // […]

发送httprequest到Heroku节点js应用程序在客户端得到“连接被拒绝”错误

我的节点应用程序已启动并正在运行(侦听)。 这实际上是一堆restAPI处理程序。 我使用一般java代码(Apache httprequest和httpclient执行简单的http命令)从我的testingJava客户端发送http请求。 事情是java http客户端发送请求到应用程序后立即得到一个IOexception。 说“org.apache.http.conn.HttpHostConnectException:连接到http://xxxxxxx.herokuapp.com:38084拒绝” 有什么我错过了,以便从java客户端的http调用? 谢谢。

如何使用nodejs进行子HTTP请求

我想知道如何使用HTTP请求或使用nodejs的某些lib来使第二个请求享受第一个请求(外部URL)的会话。 下面是我如何解决我的问题与PHP和cURL,我在哪里访问主要的url,我把会议(cookies)作出第二个要求 $app->get('/parada/:termo', function ($termo) use ($app) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://olhovivo.sptrans.com.br/'); curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $store = curl_exec ($ch); curl_setopt($ch, CURLOPT_URL, 'http://olhovivo.sptrans.com.br/v0/Parada/Buscar?termosBusca='.$termo); $content = curl_exec ($ch); echo $content; curl_close ($ch); }); 我没有代码,因为所有的例子,我已经看到了http.get作出申请,并closures连接。 var http = require('http'); var options = { host: 'example.com', port: 80, path: '/foo.html' }; http.get(options, […]

对于POST请求,nodejs请求从服务器返回null主体

我使用请求( https://github.com/mikeal/request )从节点发送一个http post请求,然后我得到一个空的主体。 从hurl.it发送的相同请求正确地返回正确的响应。 从同一个nodejs服务器发送到同一服务器的另一个请求也返回正确的正文。 真正令人愤慨的是,这是上周工作,不再在nodejs工作。 我的server.js是: var request = require('request'); request({ uri: 'insert url here; contains sensitive info', method: 'POST', body: 'insert body here; contains sensitive info', followRedirect: true, maxRedirects: 10 }, function(error, response, body) { console.log('body in response is: ' + body); }); 任何人有任何想法如何解决这个问题? 谢谢。

根据要求提供JSON或HTML服务?

我正在使用nodejs,我想要一个统一的处理程序来服务于JSON或HTML基于哪一个被请求从客户端。 到目前为止,我只是简单地传递一个variables在请求体中,我可以在服务之前检查 app.use(function(req, res) { if (req.body.requested=='JSON') res.json(… else res.render(… 但是,而不是在请求正文中传递variables,是否有东西在标题或jQuery.getJSON()和jQuery.get() ,我用来使差异的内在不同之处?

如何在express js中添加'res.addHeader(“Access-Control-Allow-Origin”,“*”)?

在我的应用程序中,我使用angularjs和cordova作为前端,并使用expression式和节点js作为服务器的后端。 我的客户端在http:// localhost:9000上运行,但是,我的express js在http:// localhost:3000上运行 。 我需要从快递API获取数据。 访问时,它说' XMLHttpRequest cannot load http://localhost:3000/data. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9000' is therefore not allowed access. 为此,我需要添加res.addHeader("Access-Control-Allow-Origin", "*") 。 它是从其他域访问一个域。 如何在express js中添加这个头文件? 请帮我解决

如何从节点js中的request.get获取值

下面是我的代码,它向主机78.154.17.70 ,端口8080和path/csrftoken.json的Web服务器发出http请求。 我使用request.get从服务器获取数据。 我能够获取数据,这是以下格式的Json data : { "apiVersion": "1.0", "data": { "csrf": "ajbgajbgjabbjbjbab" } } 我声明了两个variablesvar CSRFTokenValue; 和var respJson; 全球。 在request.get ,我使用这些variables作为: respJson存储parsing数据和CSRFTokenValue存储 “csrf”:“ajbgajbgjabbjbjbab”标记值为“ajbgajbgjabbjbjbab” 意味着CSRFTokenValue将在其中存储“ajbgajbgjabbjbjbab”。 现在,当我loginCSRFTokenValue里面的CSRFTokenValue ,它会给我“ajbgajbgjabbjbjbab”,但是当我在外面login它会给我不确定的 。 我需要CSRFTokenValue在request.post中的quesryString中使用来发布数据。 我不知道如何获得全局的tokenValue? var request = require('request'); var CSRFTokenValue; var respJson; request.get('http://78.154.17.70:8080/csrftoken.json', function (e, res, body){ respJson = JSON.parse(body); CSRFTokenValue = respJson.data.csrf; console.log('GET success:' + CSRFTokenValue); }); console.log('GET […]

如何从Google Cloud Functions发送HTTP请求(nodeJS)

这可能是一个简单的问题,但我是云新function/节点编程,还没有find正确的文件。 如何编写Google云端function,接收HTTP请求,然后向另一个端点发送HTTP请求? 例如,我可以将HTTP触发器发送到我的云端function( https://us-central1-plugin-check-xxxx.cloudfunctions.net/HelloWorldTest )。 后来在这个项目中,我会弄清楚如何实现延迟。 但是接下来我想用新的HTTP请求来响应不同的端点( https://maker.ifttt.com/trigger/arrive/with/key/xxxx )。 我怎么做? exports.helloWorld = function helloWorld(req, res) { // Example input: {"message": "Hello!"} if (req.body.message === undefined) { // This is an error case, as "message" is required. res.status(400).send('No message defined!'); } else { // Everything is okay. console.log(req.body.message); res.status(200).send('Success: ' + req.body.message); // ??? send a […]

使用node.js HTTP,res.end()如何保证socket的连接?

这是node.js的end实现: OutgoingMessage.prototype.end = function(data, encoding) { if (this.finished) { return false; } if (!this._header) { this._implicitHeader(); } if (data && !this._hasBody) { console.error('This type of response MUST NOT have a body. ' + 'Ignoring data passed to end().'); data = false; } var ret; var hot = this._headerSent === false && typeof(data) === 'string' && […]

了解Express.js中间件的优先级

我正在阅读Express.js API参考中的两个示例,但我没有得到它们。 实例1 现在假设你想忽略对静态文件的logging请求,但是继续logginglogger()之后定义的路由和中间件。 你可以简单地移动它上面的static(): app.use(express.static(__dirname + '/public')); app.use(logger()); // other middleware 这是如何导致对静态文件的请求不被logging的? 是不是所有的中间件都是按照顺序执行的? 实例2 另一个具体例子是从多个目录提供文件,优先于“./public”而不是其他文件: app.use(express.static(__dirname + '/public')); app.use(express.static(__dirname + '/files')); app.use(express.static(__dirname + '/uploads')); 我怀疑,例如“/js/stuff.js”这样的请求,第一个中间件会检查“/public/js/stuff.js”是否存在。 如果是这样的话,这个中间件就处理这个请求,而后续的中间件都不会被执行 (类似于早期的返回)。 如果这条path不存在,则这个中间件将请求传递给下一个中间件。 它是否正确? 请解释两个例子!