加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

nodejs http发送get和post请求

(2016-01-18 18:50:09)
标签:

nodejs

get

post

http

request

分类: web前端开发
GET请求 
Js代码  
  1. var http require('http');  
  2.   
  3. var qs require('querystring');  
  4.   
  5. var data  
  6.     a: 123,  
  7.     time: new Date().getTime()};//这是需要提交的数据  
  8.   
  9.   
  10. var content qs.stringify(data);  
  11.   
  12. var options  
  13.     hostname: '127.0.0.1' 
  14.     port: 10086,  
  15.     path: '/pay/pay_callback?' content,  
  16.     method: 'GET'  
  17. };  
  18.   
  19. var req http.request(options, function (res)  
  20.     console.log('STATUS: ' res.statusCode);  
  21.     console.log('HEADERS: ' JSON.stringify(res.headers));  
  22.     res.setEncoding('utf8');  
  23.     res.on('data'function (chunk)  
  24.         console.log('BODY: ' chunk);  
  25.     });  
  26. });  
  27.   
  28. req.on('error'function (e)  
  29.     console.log('problem with request: ' e.message);  
  30. });  
  31.   
  32. req.end();  


POST请求 
Js代码  
  1. var http require('http');  
  2.   
  3. var qs require('querystring');  
  4.   
  5. var post_data  
  6.     a: 123,  
  7.     time: new Date().getTime()};//这是需要提交的数据  
  8.   
  9.   
  10. var content qs.stringify(post_data);  
  11.   
  12. var options  
  13.     hostname: '127.0.0.1' 
  14.     port: 10086,  
  15.     path: '/pay/pay_callback' 
  16.     method: 'POST' 
  17.     headers:  
  18.         'Content-Type''application/x-www-form-urlencoded; charset=UTF-8'  
  19.      
  20. };  
  21.   
  22. var req http.request(options, function (res)  
  23.     console.log('STATUS: ' res.statusCode);  
  24.     console.log('HEADERS: ' JSON.stringify(res.headers));  
  25.     res.setEncoding('utf8');  
  26.     res.on('data'function (chunk)  
  27.         console.log('BODY: ' chunk);  
  28.     });  
  29. });  
  30.   
  31. req.on('error'function (e)  
  32.     console.log('problem with request: ' e.message);  
  33. });  
  34.   
  35. // write data to request body  
  36. req.write(content);  
  37. req.end();  
可以找一些封装好的http调用包简化代码和实现,如request包
  1. var request = require('request');

  2. var httpUtil = {
  3. getData: function (url, qsObj, res) {
  4.         request({
  5.             url: httpUtil.getBaseHttp(url), 
  6.             qs: qsObj, 
  7.             method: 'GET'
  8.         }, function (error, response, body) {
  9.             if (!error && response.statusCode == 200) {
  10.                 res.send(body);
  11.             }
  12.             else {
  13.                 transfor.translate(error, null);
  14.             }
  15.         });
  16.     },
  17. postData: function (url,jsonObj,res) {
  18.         request({
  19.             url: httpUtil.getBaseHttp(url),
  20.             method: 'POST',
  21.             json: jsonObj
  22.         }, function (error, response, body) {
  23.             if (error) {
  24.                 console.log(error);
  25.                 transfor.translate(error, null);
  26.             } else {
  27.                 res.send(body);
  28.             }
  29.         });
  30.            
  31.     }
  32. }

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有