用Dart搭建HTTP服务器(1)

简介: <div class="markdown_views"><h2 id="基本的http服务器">基本的HTTP服务器</h2><pre class="prettyprint"><code class=" hljs lasso"><span class="hljs-keyword">import</span> <span class="hljs-string">'dar

基本的HTTP服务器

import 'dart:io';
main(List<String> arguments) {
  //绑定一个IPv4的HttpServer,设置8089端口
  HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8089).then((server){
    //显示服务器地址和端口
    print("Serving at ${server.address}:${server.port}");
    //通过编写HttpResponse对象让服务器响应请求
    server.listen((HttpRequest request){
      //HttpResponse对象用于返回客户端
      request.response
        //获取和设置内容类型(报头)
        ..headers.contentType=new ContentType("text","plain",charset:"utf-8")
        //通过调用Object.toString将Object转换为一个字符串并转成对应编码发送到客户端
        ..write("Hello world! :)")
        //结束与客户端连接
        ..close();
    });
  });
}

执行上面代码,在控制台会打印出服务器的地址与端口号,再访问本机地址http://127.0.0.1:8089/就能访问搭建好的HTTP服务器了!
这里写图片描述
效果大概就是这样了。

文件服务器

//http_server包要通过Pub下载
library simple_http_server;
import 'dart:io';
//VirtualDirectory可以从根路径获取文件和目录清单
import 'package:http_server/http_server.dart' show VirtualDirectory;
main(List<String> arguments) {
  //设置根路径
  final MY_HTTP_ROOT_PATH = Platform.script.resolve('web').toFilePath();
  //从根路径获取文件和目录清单
  final virDir = new VirtualDirectory(MY_HTTP_ROOT_PATH)
    //是否获取文件和目录清单,为false则不获取
    ..allowDirectoryListing = true;
  HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8089).then((server){
    server.listen((request){
      //将文件和目录清单发送到客户端
      virDir.serveRequest(request);
    });
  });
}

特别要讲的是http_server包的下载,如果你用的是DartEditor的话,可以通过以下方法下载:
这里写图片描述
这里写图片描述
上面点OK后要按Ctrl+S保存后才会下载
这里写图片描述
如果不是DartEditor或者被GFW拦住的话,我把下载好http_server包提供给你们,http://pan.baidu.com/s/1kTiosC3
运行代码后访问本地http://127.0.0.1:8089/,效果是这样的:
这里写图片描述
这里写图片描述

目录
相关文章
|
8月前
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
400 18
|
8月前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
401 14
|
7月前
|
JSON 前端开发 Go
Go语言实战:创建一个简单的 HTTP 服务器
本篇是《Go语言101实战》系列之一,讲解如何使用Go构建基础HTTP服务器。涵盖Go语言并发优势、HTTP服务搭建、路由处理、日志记录及测试方法,助你掌握高性能Web服务开发核心技能。
|
7月前
|
Go
如何在Go语言的HTTP请求中设置使用代理服务器
当使用特定的代理时,在某些情况下可能需要认证信息,认证信息可以在代理URL中提供,格式通常是:
515 0
|
9月前
|
存储 安全 数据安全/隐私保护
HFS-快速创建HTTP服务器
鉴于HFS的操作简便和方便快捷,它在满足快速,临时的文件分享和传输需求上,能够发挥出巨大的作用。只要明确了以上的安全警告,并做好了必需的安全设置,HFS将是一款实用的HTTP服务器工具。
1077 9
|
Dart
用Dart搭建HTTP服务器(2)
<div class="markdown_views"> <h2 id="设置首页">设置首页</h2> <p>先在项目下建立web文件,在里面再建两个html文件 <br><img title="" alt="这里写图片描述" src="http://img.blog.csdn.net/20150615101627135"><br> 然后在dart文件里编写以下代码</p>
2181 0
|
Dart
用Dart搭建HTTP服务器(3)
<div class="markdown_views"> <h2 id="基于url的请求模式">基于URL的请求模式</h2> <p>为了不搞复杂,就简单演示一下 <br> 先把需要用到的route包分享出来<a href="http://pan.baidu.com/s/1hq1rxI0">http://pan.baidu.com/s/1hq1rxI0</a></p>
1285 0
|
9月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
251 18
|
9月前
|
网络安全 开发者
如何解决HTTPS协议在WordPress升级后对网站不兼容的问题
以上就是解决WordPress升级后HTTPS协议对网站的不兼容问题的方法。希望能把这个棘手的问题看成是学校的管理问题一样来应对,将复杂的技术问题变得更加有趣和形象,并寻觅出解决问题的方式。希望你的网站能在新的学期得到更好的发展!
241 19
|
9月前
|
JSON 安全 网络协议
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
871 20