nodejs,http,get,post,请求

本文源于实践及其部分网络搜索:

其实大部分,官方都有介绍...

官方参考链接:https://nodejs.org/api/http.html

var http = require(‘http‘);

var querystring = require(‘querystring‘);

var options = {

        host: ‘127.0.0.1‘// 请求地址 域名,google.com等..

        port:80,

        path:path, // 具体路径eg:/upload

        method: ‘GET‘// 请求方式, 这里以post为例

        headers: { // 必选信息,  可以抓包工看一下

            ‘Content-Type‘‘application/json‘

        }

    };

    http.get(options, function(res) {

        var resData = "";

        res.on("data",function(data){

            resData += data;

        });

        res.on("end"function() {

            callback(null,JSON.parse(resData));

        });

    })

(2):post 请求:

var postData = querystring.stringify({

  ‘msg‘ ‘Hello World!‘

});

var options = {

  hostname: ‘www.google.com‘,

  port: 80,

  path: ‘/upload‘,

  method: ‘POST‘,

  headers: {

    ‘Content-Type‘‘application/x-www-form-urlencoded‘,

    ‘Content-Length‘: Buffer.byteLength(postData)

  }

};

var req = http.request(options, (res) => {

  console.log(`STATUS: ${res.statusCode}`);

  console.log(`HEADERS: ${JSON.stringify(res.headers)}`);

  res.setEncoding(‘utf8‘);

  res.on(‘data‘, (chunk) => {

    console.log(`BODY: ${chunk}`);

  });

  res.on(‘end‘, () => {

    console.log(‘No more data in response.‘);

  });

});

req.on(‘error‘, (e) => {

  console.log(`problem with request: ${e.message}`);

});

// write data to request body

req.write(postData);

req.end();


var req = http.request(options, function(res) {
    res.setEncoding(‘utf8‘);
    res.on(‘data‘, function (chunk) {
        console.log("body: " + chunk);
    });
    res.on(‘end‘,function(chunk){
        console.log("body: " + chunk);
    })
});
参考链接:https://nodejs.org/api/http.html
/m1=ff&op=get
时间: 2024-11-06 16:58:38

nodejs,http,get,post,请求的相关文章

Nodejs Http发送post请求

Nodejs  Http发送post请求 var http = require('http');function epay(params){ console.log(" COME IN");var params = JSON.stringify({"sign":"ExdYcut6LgrKGsHuAyoxFTMDuDYVmyFFu7GRHPRwB/DBwm6cyBe9Sr2rti1/SjWPcdXLoWIHWEJ9IFKPK+3ieKU/MkNqeh1opH

基于nodejs模拟浏览器post请求爬取json数据

今天想爬取某网站的后台传来的数据,中间遇到了很多阻碍,花了2个小时才请求到数据,所以我在此总结了一些经验. 首先,放上我所爬取的请求地址http://api.chuchujie.com/api/?v=1.0: 下面我们开始爬取数据. 一.写一个基于nodejs的爬虫 1.引入所需模块 这里需要引入http模块(nodejs用来向浏览器发送http请求的模块)和querystring模块(把前台传过来的对象形式的参数转化成字符串形式): var http = require("http"

NodeJs http.get 方法请求时间过长问题处理!

NodeJs 获取网页内容 http.get 默认请求超时过长了,程序要卡死好一会. 根据网上资料现改造了一个带超时设置的获取网页内容方法. 主要方法使用 setTimeout 来超时, 代码如下: // 获取指定网页,返回HTML function getUrlHtml(url, fn_success, fn_error, timeout) { timeout = timeout || 2000; var timeEvent; var req = http.get(url, function(

Nodejs后台发送https请求验证证书

项目中用到了很多第三方的库,这些库在生产环境使用的时候的都会发送https的请求出去,但是再发送请求的时候nodejs会验证证书,没有证书的时候都会无法通过,这里可以修改代码进行修改这个问题, 1.在发送https请求的时候添加如下代码: rejectUnauthorized: false, 如图,某个库: 2.还有就是全局设置. 启动程序的时候设置: process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

nodeJs 使用 express-http-proxy 转发请求

开发过程中经常需要用到 nodeJs做转发层 使用express配合 express-http-proxy 可以轻松的完成转发 使用过程: 安装 express-http-proxy npm install express --save npm install express-http-proxy --save 创建proxy实例 var proxy = require('express-http-proxy'); 将客户端请求转达到 http://localhost:3001 上: app.u

关于AngularJS中$http跨域 与 nodejs接收跨域请求(使用express-session,body-parser)的设置

1.跨域的服务端设置: 使用express挂载跨域响应中间件 app.all("*", function (req,res,next) { res.header('Access-Control-Allow-Credentials', true);// 接受携带Cookie的请求 res.header("Access-Control-Allow-Origin", "http://localhost:3000,http://192.168.1.100:3000

nodejs之处理GET请求

一个简单的http服务器,接收get请求,并返回解析之后的数据. 下面是服务的代码: var http = require("http"); var url = require("url"); var querystring = require("querystring"); http.createServer(function (request, response) { var objectUrl = url.parse(request.url

nodejs之处理POST请求

下面模拟的是网页登陆的过程,当我们请求一个链接时,会获得一个表单,然后再表单中填入相应的值,然后提交登陆. var http = require('http'); var querystring = require('querystring'); http.createServer(function (request, response) { var responseString = ''; response.writeHead(200, {'content-type': 'text/html'

nodejs之get/post请求的几种方式

1.用form表单的方法:(1)get方法 前端代码: <form action = "/login" method = "GET"> <label for = "username">账号:</label> <input type = "text" name ="username" placeholder = "请输入账号" required&g

nodejs发起HTTPS请求并获取数据

var https = require('https'); var zlib = require('zlib'); var post_data="………………";//请求数据 var reqdata = JSON.stringify(post_data); var options = { hostname: '10.225.***.***', port: '8443', path: '/data/table/list', method: 'POST', rejectUnauthoriz