c# - 读取 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");
}
}
解决方案
您需要从中获取 URIkontekst.Request.Url
并自己解析该值以决定您需要做什么。
推荐阅读
- docker - 如何在 Docker Desktop (WSL2) 中挂载大卷?
- java - Gradle 和 Jenkins 在较小的构建中的交互
- sql - 如何在 SQL 中将数据与静态数据集连接起来
- automapper - 源属性不存在的自定义映射
- php - 如何在 Symfony 表单中禁用自动设置值?
- amazon-web-services - 复制现有对象 - AWS S3
- python - 无法让 PyTest 在 VSCode 或终端中运行。没有认可的测试
- javascript - ColumnChart 不显示所有字符串标签
- sql - SQL Oracle:如何获取 GROUP BY 的求和结果,如何选择条件不同的数据
- python - 使用 '.' 将 SQLAlchemy 更新到 Postgres 到表中 在名字里