首页 > 解决方案 > 读取 URL 请求以字符串 C# 控制台应用程序

问题描述

我正在尝试读取通过浏览器发送到我的服务器的 url 请求。所以基本上,如果我输入http://localhost:8080/geoserver/作为我的 URL,服务器将响应并发送将正确显示的图片。现在我正在尝试将 URL 转换为字符串,例如,如果我键入http://localhost:8080/geoserver/1234,我将能够从我的 url 字符串中获取 1234,然后调整大小、旋转、.. 基于我的图片在输入上并显示它。我试过了,string my_url = listen.GetContext().toString();但我没有得到我输入的 URL。

我的代码:

 static void Main(string[] args)
        {               
            HttpListener listen = new HttpListener();
            string url = "http://localhost";
            string port = "";
            Console.Write("Nastavite port:");
            port = Console.ReadLine();
            url = url + ":" + port + "/geoserver/";
            listen.Prefixes.Add(url);

            try
            {
                listen.Start();
            }
            catch(Exception e)
            {
                Console.WriteLine("Ta port je zaseden");
                Console.ReadKey();
                Environment.Exit(0);
            }

            while (true)
            {
                Console.WriteLine("Cakam...");
                HttpListenerContext kontekst = listen.GetContext();



                string msg = "hello world";
              //  kontekst.Response.ContentLength64 = Encoding.UTF8.GetByteCount(msg);
                kontekst.Response.StatusCode = (int)HttpStatusCode.OK;


                using (Stream stream = kontekst.Response.OutputStream)
                using (Image image = Image.FromFile("jpg.png"))
                using (MemoryStream ms = new MemoryStream())
                using (StreamWriter writer = new StreamWriter(stream))
                {
                    image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                    string base64 = Convert.ToBase64String(ms.ToArray());
                    writer.WriteLine($"<html><img src=\"data: image / png; base64, {base64} \"></html>");
                } 

                Console.WriteLine("Sporočilo poslano");

            }

        }

标签: c#serverconsole-application

解决方案


您需要从中获取 URIkontekst.Request.Url并自己解析该值以决定您需要做什么。


推荐阅读