专业编程基础技术教程

网站首页 > 基础教程 正文

http 数据解析(adobe acrobat 出现3d数据解析错误)

ccvgpt 2024-08-01 11:30:13 基础教程 9 ℃

一,数据请求

前台->form/ajax/jsonp

http 数据解析(adobe acrobat 出现3d数据解析错误)

后台->一样

二,get请求(解析地址、数据)

(1)最基础的方法


  1. const http = require('http');
  2. http.createServer(function(req,res){
  3. var get ={};
  4. if(req.url.indexOf('?')!=-1){
  5. var arr = req.url.split('?');
  6. var url = arr[0];
  7. //arr[0]=>'/aaa'
  8. //arr[1]=>'userName=wangni&userPassword=iop'
  9. var arr2 = arr[1].split('&');
  10. //arr2[0]=>'userName=wangni'
  11. //arr2[1]=>'userPassword=iop'
  12. for (var i = 0; i < arr2.length; i++) {
  13. var arr3 = arr2[i].split('=');
  14. get[arr3[0]] = arr3[1];
  15. }
  16. }else{
  17. var url = req.url;
  18. }
  19. console.log(url,get);
  20. res.write('aaa');
  21. res.end();
  22. }).listen(8090);

(2)queryString(解析数据)


  1. const http = require('http');
  2. const querystring = require('querystring');
  3. http.createServer(function(req,res){
  4. var get ={};
  5. if(req.url.indexOf('?')!=-1){
  6. var arr = req.url.split('?');
  7. var url = arr[0];
  8. //arr[0]=>'/aaa'
  9. //arr[1]=>'userName=wangni&userPassword=iop'
  10. get = querystring.parse(arr[1]);
  11. }else{
  12. var url = req.url;
  13. }
  14. console.log(url,get);
  15. res.write('aaa');
  16. res.end();
  17. }).listen(8090);

(3)url(解析地址、数据)

url.parse('请求地址',true);true将数据中的query解析为json格式


  1. const http = require('http');
  2. const myURL = require('url');
  3. var url,get = {};
  4. http.createServer(function(req,res){
  5. var obj = myURL.parse(req.url,true);
  6. url = obj.pathname;
  7. get = obj.query
  8. console.log(url,get);
  9. res.write('aaa');
  10. res.end();
  11. }).listen(8090);

三,POST请求

post数据接收:post数据比get数据大很多,所以分段发送

(这里接收数据用querystring,不用url)


  1. const http = require('http');
  2. http.createServer(function(req,res){
  3. var i = 0,str = '';
  4. //data=>有一段数据到达(很多次)
  5. req.on('data',function(data){
  6. console.log(`第${i++}次发送数据`)//es6里面的写法
  7. str+=data;
  8. });
  9. //end=>数据发送完毕(一次)
  10. req.on('end',function(){
  11. //console.log(str)
  12. });
  13. }).listen(8090);

四,总结

***post请求使用querystring来解析;get请求使用url来解析;文件读取:可读文件都在www的文件夹,所以路径需要拼接下


  1. const http = require('http');
  2. const fs = require('fs');
  3. const querystring = require('querystring');
  4. const urlLi = require('url');
  5. http.createServer(function(req,res){
  6. //get
  7. var obj = urlLi.parse(req.url,true);
  8. var url = obj.pathname;
  9. const get = obj.query;
  10. //post
  11. var str = '';
  12. req.on('data',function(data){
  13. str += data;
  14. });
  15. req.on('end',function(){
  16. const post = querystring.parse(str);
  17. console.log(url,get,post);
  18. });
  19. //文件读取
  20. var fileName = './www'+url;
  21. fs.readFile(fileName,function(err,data){
  22. if(err){
  23. res.write('404');
  24. }else{
  25. res.write(data)
  26. }
  27. res.end();
  28. });
  29. }).listen(8090);

Tags:

最近发表
标签列表