[UMU 学 golang](5) HTTP Echo Server

[UMU 学 golang](5) HTTP Echo Server,第1张

概述  做加速时经常需要用到 HTTP Echo Server 来测试加速有没有成功,如果成功了,是显示请求来自加速代理服务器。原来用 node.js 写了一个,代码如下: var http = require('http');http.createServer( function (req, res) { res.writeHead(200, {'Content-Type'

  做加速时经常需要用到 http Echo Server 来测试加速有没有成功,如果成功了,是显示请求来自加速代理服务器。原来用 node.Js 写了一个,代码如下:

var http = require('http');http.createServer(    function (req,res) {        res.writehead(200,{'Content-Type': 'text/plain'});        var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || req.connection.socket.remoteAddress;        var ua = req.headers['user-agent'];        res.end(ip + '\n' + ua);    }).Listen(80);console.log('Server is running...');

  现在改为 golang,并稍微改进了一下:

package mainimport (	"fmt"	"net/http"	"os"	"time")func main() {	var addr string	if len(os.Args) > 1 {		addr = ":" + os.Args[1]	} else {		addr = ":80"	}	server := http.Server{		Addr:        addr,Handler:     &MyHandler{},ReadTimeout: 5 * time.Second,}	err := server.ListenAndServe()	fmt.Println(err)}type MyHandler struct{}func (*MyHandler) Servehttp(w http.ResponseWriter,r *http.Request) {	info := r.RemoteAddr + " @ " + time.Now().String() + "\r\n" +		r.Method + " " + r.RequestURI + "\r\n" +		"Host: " + r.Host + "\r\n" +		"UserAgent: " + r.UserAgent() + "\r\n"	w.Write([]byte(info))	fmt.Println(info)}
总结

以上是内存溢出为你收集整理的[UMU 学 golang](5) HTTP Echo Server全部内容,希望文章能够帮你解决[UMU 学 golang](5) HTTP Echo Server所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1286535.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存