Tag: 请求

(Nodejs)Google oAuth2:缺less必需的参数:grant_type

使用Nodejs和Mikeal的请求来进行这个调用。 做所有的文档都说这里包括grant_type = authorization_code,但我仍然得到相同的错误。 查看屏幕截图,了解我传递的确切variables和方法。 以下是Grant_type首先显式设置的path /o/oauth2/token?grant_type=authorization_code&code=4%2F42sz3xxq4wGF9k9joYxRVop9mHi6.UpFaIUqZ_UQaaDn_6y0ZQNh869DgiwI&client_id=199079322117.apps.googleusercontent.com&client_secret=…&redirect_uri=…

http.get请求循环closures问题(节点)

我希望能够在命令行中放入一系列URL,并按照提供的顺序获取这些请求的结果。 我已经研究了闭包,以实现这一点,因为callback不会按顺序执行(更有可能是最快的响应) for (var i = 2; i < process.argv.length; i++) { (function(index) { http.get(process.argv[index], function (response) { response.pipe(bl(function (err, data) { console.log(data.toString()); })); }); })(i); } for循环参数。 然后每个迭代调用IIFE匿名函数,然后调用get请求等等。 但是问题依然存在,它被无序执行。 不按用户要求的顺序。 我究竟做错了什么?

如何使用Request和NodeJS到达redirect的页面

我正在使用Request,Jsdom和NodeJSlogin到网页。 根据请求API , followRedirect – 遵循HTTP 3xx响应作为redirect(默认值: true )。 这个属性也可以被实现为函数,它将响应对象作为单个参数获取,如果redirect应该继续,则返回true;否则返回false。 鉴于这是默认的,我会认为这个请求会给我redirect页面,而不是中间的redirect页面。 我的代码: request(loginPageURL, function(error, response, body) { /*Error handling removed for brevity*/ jsdom.env({ html: body, scripts: [ 'http://code.jquery.com/jquery-1.7.1.min.js' ], done: function(err, window) { //Set login fields var form = $('#authorizationForm'); var data = form.serialize(); var url = form.attr('action') || 'get'; var type = form.attr('enctype') || […]

ajax使用node.js进行实时search

我是node.js的新手 现在我试图写一个简单的网站,用户可以input一些东西给服务器来处理,并接收结果,比如search一些东西。 我试图执行它如下: 写index.html 编写server.js ,它创build一个服务器,并使用var index = fs.readFileSync('index.html'); response.end(index);显示索引页面var index = fs.readFileSync('index.html'); response.end(index); var index = fs.readFileSync('index.html'); response.end(index); 在index.html中添加ajax代码,接收用户input并发送给服务器 最后一步是在server.js中添加代码,处理请求并将结果发送给ajax进行显示。 我的问题是关于第4步。在server.js,当它收到一个Ajax请求,它应该以某种方式将结果添加到index.html文件,并使用response.end(index)发回,或者只发送结果? 如果后者,我试过了,它会发送index.html页面和结果。 但是我只想要结果。 下面是两个文件index.html和server.js : index.js <!DOCTYPE html> <html> <!– Client search using Ajax –> <head> <title>live search</title> <script> function getResults(query) { if (query.length===0) { document.getElementById("results").innerHTML=""; return; } if (window.XMLHttpRequest) { // code for […]

cookieredirect响应

如下图所示,我试图在第一个redirect#1响应中获取set-cookie 。 我成功通过在请求选项中将followRedirect设置为false来获取request模块的响应,但是我仍然无法从头中获取set-cookie 。 类似的讨论在这里: https : //github.com/request/request/issues/1502 任何人都设法使用任何其他模块来获取来自redirect响应的cookie? 提前感谢!

NodeJS代理不按预期工作

请求的当前路由来自localhost:3001,通过在localhost:3001 / proxy上的同一本地主机上运行的代理,然后将请求路由到Salesforce实例。 代理使用ExpressJS进行,客户端应用使用AngularJS。 注意:我确实记得在我的密码末尾(Salesforce API要求)标记了我的安全令牌,虽然在使用cURL时似乎没有必要。 这里有一系列的HTTP跟踪,希望能够提供一些线索: 来自Angular.JS App的HTTP请求日志: POST /proxy HTTP/1.1 Host: localhost:3001 Connection: keep-alive Content-Length: 234 Pragma: no-cache Cache-Control: no-cache X-User-Agent: salesforce-toolkit-rest-javascript/v29.0 Origin: http://localhost:3001 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36 Content-Type: application/x-www-form-urlencoded Accept: application/json, text/plain, */* SalesforceProxy-Endpoint: https://uniquename.salesforce.com/services/oauth2/token Referer: http://localhost:3001/ Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.8 Cookie: liveagent_oref=; […]

节点套接字挂起http错误

我跟着节点的http文件写一个删除请求到本地服务器,但收到套接字挂断错误,类似的问题,我检查了: NodeJS – “套接字挂断”究竟是什么意思? 错误:套接字使用节点v0.12.0挂起 但没有人真正为我的情况工作。 我相信这是代码错误,因为我使用邮递员它为我工作,以下是我的代码 var options = { hostname: 'localhost', port: 3000, path: '/accounts/abc' method: 'DELETE', headers: { 'Content-Type': 'application/json; charset=utf-8' } }; var order = { "secret": "abc_secret" }; var content = JSON.stringify(order); var req = http.request(options, function(res) { console.log('STATUS: ' + res.statusCode); res.on('data', function(chunk) { console.log('resp: ' + chunk); }); […]

在nodejs的post请求中设置charset

我想通过请求模块使用euc-kr字符集将表单数据发送到某个网站。 而且我也使用iconv-lite模块,因为nodejs支持的字符集不是很多。 无论如何,网站使用euc-kr字符集,所以我必须处理表单数据的编码(节点的默认字符集是utf-8)。 但是这样做效果不好,我试图改变一些选项,但是我现在一直呆着,所以你能告诉我一些提示。 // added module request, iconv-lite(extendNodeEncoding) already. function postDocumentForm() { //Lets configure and request request({ url: 'http://finance.naver.com/item/board_act.nhn', //URL to hit headers: { 'Content-Type': 'content=text/html; charset=euc-kr' }, method: 'POST', encoding: 'euc-kr', form: { code:'000215', mode: 'write', temp: '', keyCount: '0', title: "폼 데이터 중 일부가 한글일 때", opinion: '0', body:'인코딩이 제대로 되지 않고 […]

expressionJS – 一个HTTP请求如何不同于其他?

我一直在为express和node创build一个更好的rest结构的体系结构。 假设我的路由中间件有三种方法 – router.post('/users/:id', [ UserService.getUserById, UserController.setUser, MailerService.sendSubscriptionMail ]); 我在调用UserService.getUserById中设置req.session.user,然后使用它在UserController.setUser中设置req.session.result。 现在我正在使用存储在req.session.result中的数据发送邮件给这个用户。 UserService – exports.getUserById = function(req, res, next) { . . req.session.user = data; . . }; module.exports = exports; UserController – exports.setUser = function(req, res, next) { . . req.session.result = req.session.user; . . }; module.exports = exports; MailerService – exports.sendSubscriptionMail = function(req, res, […]

用户注销:将GETredirect到POST(Node / Express)

我正在使用Stormpath for Expressjs(目前没有护照)来处理我的用户注册。 我非常关心什么是注销用户的正确方法。 以前,我总是通过GET方法做到这一点,但是Stormpath 明确要求对/ logout页面进行POST调用 。 我只在用户通过Stormpathlogin时显示一个用户菜单,这是我在我的router.js中使用的超级简单中间件: router.use(stormpath.getUser, function (req, res, next) { if (req.user) { req.session.useremail = req.user.email; } next(); }); 现在,当然在这个菜单里有注销条目。 我希望我的用户点击此链接注销,但是我知道,当使用像<a href="/logout">Logout</a>这样的链接链接时,会发送GET请求,而不是POST。 我一直在寻找无数的方法将GET请求redirect到POST,但是我觉得这是绝对错误的。 另外我觉得在菜单里面使用表单是没有意义的,例如: <ul> <li>User Profile</li> <li>User Settings</li> <form action="/logout" method="/post"> <input type="submit"> </form> </ul> 所以问题是:通过POST简单地注销用户的最佳方式是什么?