http模块get
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http模块get相关的知识,希望对你有一定的参考价值。
4 怎样用http模块?-->http协议
a 引入http模块 var http = require(‘http‘);
b 创建服务器对象 var server = http.createServer();
c 监听端口 server.lisen(8080);
d 监听请求事件 request
5 设置响应头信息 ---> 响应的类型 编码
请求-->请求头和 请求正文
响应-->响应头 和 响应正文
Remote Address 客户端的地址
Request Method 提交数据的方法
content-type:text/html;charset=utf-8 设置的编码和响应的类型
响应的状态码:
200 - 请求成功
304 - 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误
响应对象上面的方法:
res.write()
res.end()
res.setHeader()
res.writeHead(状态码(200),‘对应显示的信息(成功) ‘,{传入的信息包在这里})
请求对象 请求的时候向服务器发送数据
1 url : http(协议)://localhost(域名)/user?username=zhangsan&password
域名指向网站的根目录
?问号后面的内容 传输的数据 格式 key=value 多个key/value key=value & key1=value1(这些数据叫做查询字符串) &、
提交数据的方式 :
1 get方式 : 提交的数据 显示在浏览器的地址栏
2 post方式
服务端接收数据的方式
1 如果是get方式提交
a 用url模块 解析url地址 形成一个对象 var objurl = url.parse(req.url);
b 用querystring 可以把 objurl.query 转换成对象 objurl.query(key=value & key1=value1)
c 通过对象.属性的形式来使用数据
/** * Created by Administrator on 2016/10/31. */ //1 引入http var http = require(‘http‘); var fs = require(‘fs‘); var url = require(‘url‘); //这个模块是内置的专门用来解析 url 解析成一个对象 var querystring = require(‘querystring‘);转换成对象 //2 创建出一个服务器对象 并且监听请求 var server = http.createServer(function (req,res) { //req对象身上 有一个url的属性 可以拿到 域名后面的所有东西 req.ur这是一个字符串 // console.log(req.url); res.setHeader(‘content-type‘,‘text/html;charset=utf-8‘); //解析url var objurl = url.parse(req.url); //console.log(objurl.pathname); console.log(objurl.query) //username=admin&pwd=123456 ==》 {username:admin} if(objurl.pathname === "/"){ //1 读取一个html页面 fs.readFile(‘./get.html‘,‘utf-8‘,function (err,data) { res.write(data); res.end(); }) } if(objurl.pathname === "/login"){ //接收到浏览器端传过来的数据 // 获取到username对应的值来做判断 var queryObj = querystring.parse(objurl.query); console.log(queryObj); if(queryObj.username === "admin"){ res.write(‘登录成功‘); res.end(); }else{ res.write(‘登录失败‘); res.end(); } } if(objurl.pathname === ‘/home‘){ res.write(‘欢迎来到个人中心‘); res.end(); } }); //4 绑定监听的函数 server.on(‘listening‘,function () { console.log(‘listening on 3000‘); }); //3 监听端口 server.listen(3000);
//1 引入http var http = require(‘http‘); var mime = require(‘mime‘); //查看当前 你返回的文档的对应的类型的写法 var fs = require(‘fs‘); //2 创建出一个服务器对象 并且监听请求 var server = http.createServer(function (req,res) { //req 请求对象 //res 响应对象 在响应头里面去设置响应的文本类型和编码 // var txt = mime.lookup(‘/path/to/file.mp4‘); // => ‘text/plain‘ // console.log(txt); // mime.lookup(‘file.txt‘); // => ‘text/plain‘ // mime.lookup(‘.TXT‘); // => ‘text/plain‘ // mime.lookup(‘htm‘); //=>‘text/html‘ //1 用fs模块 把这个网页读取出来 fs.readFile(‘./get.html‘,‘utf-8‘,function (err,data) { //告诉浏览器应该用什么样的类型来解析我返回的数据 //有时候不知道返回的类型应该是什么,用mime这个模块来查看 // res.setHeader(‘content-type‘,"text/html;charset=utf-8"); //状态码 响应头里面设置 一个状态编码 不同的编码表示不同的意思 //200 表示 res.write(data); res.end(); }) }); //4 绑定监听的函数 server.on(‘listening‘,function () { console.log(‘listening on 3000‘); });
//fs path url querystring http mime
http模块
1 创建一个服务器
a 引入http var http = require(‘http‘)
b 创建 var server = http.createServer(function(req,res){
//业务逻辑
})
c 监听端口 server.listen(8080)
2 request 和 response 对象
request.url 拿到url地址
res.setHeader(key,value) 设置响应头信息
res.writeHead(‘状态码‘,‘描述信息‘,{})
res.write()
res.end()
3 浏览器和服务器相互通信
浏览器向服务器发送数据:
a 用get方式发送: 表单里面有get方式 a标签 a href="localhost:8080/user?username=xxx"
b post方式去发送:
服务器接收浏览器的数据的方式:
a get方式发送的数据:
1 先把url取到 2 把url解析 成对象 var 0bj = url.parse(req.url) s
3 dataObj = querystring.parse(obj.query)
b post 方式发的数据:
如果是post提交的话 1 req.on(‘data‘,function(data){}) 2 req.on(‘end‘,function(){}) 3 querystring
服务器向浏览器发送数据:
res.write();
res.end();
以上是关于http模块get的主要内容,如果未能解决你的问题,请参考以下文章
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段