如何在 C# 中解析 HTTP url?

2024-03-26

我的要求是解析 Http URL 并相应地调用函数。在我当前的实现中,我使用嵌套的 if-else 语句,我认为这不是一种优化的方式。您能建议其他一些有效的方法吗?

网址是这样的:

  • server/func1
  • server/func1/SubFunc1
  • server/func1/SubFunc2
  • server/func2/SubFunc1
  • server/func2/SubFunc2

我认为你可以从中得到很多用处系统.Uri http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k%28SYSTEM.URI%29;班级。给它一个 URI,你就可以以多种方式提取片段。

一些例子:

Uri myUri = new Uri("http://server:8080/func2/SubFunc2?query=somevalue");

// Get host part (host name or address and port). Returns "server:8080".
string hostpart = myUri.Authority;

// Get path and query string parts. Returns "/func2/SubFunc2?query=somevalue".
string pathpart = myUri.PathAndQuery;

// Get path components. Trailing separators. Returns { "/", "func2/", "sunFunc2" }.
string[] pathsegments = myUri.Segments;

// Get query string. Returns "?query=somevalue".
string querystring = myUri.Query;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 C# 中解析 HTTP url? 的相关文章

  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • 如何针对 Nancy 中的 Active Directory 进行身份验证?

    这是一篇过时的文章 但是http msdn microsoft com en us library ff650308 aspx paght000026 step3 http msdn microsoft com en us library
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • 使用 Hibernate JPA 2.1 将应用程序部署到 IBM WebSphere 会出现 NullPointerException

    我们正在尝试使用 Hibernate 将 Java 7 Spring MVC 应用程序部署到 IBM WebSphere 8 5 5 2 服务器中 该应用程序在 Tomcat 服务器上运行良好 但我们无法让它在 WebSphere 中运行
  • OData 中实体的别名/重命名属性

    使用ODataConventionModelBuilder和它的EntitySet lt gt 功能 是否可以重命名实体集上的属性名称 假设我有一个实体集类型 Foo 它有两个属性 Bar and Baz 但是 在我的 OData 模型中
  • Wordpress 帖子/页面标题数字排序

    有没有可能的方法按标题对新的 WordPress 帖子查询进行排序 但按数字而不是按字母顺序排序 我有一些标题 它们按字母顺序有很多相同的名称 然后有一个数字后记 所以当然 例如 WordPress 将 title12 放在 title1
  • Eclipse 插件开发 - Gradle 无法从 Eclipse 启动器运行:java.io.IOException:访问被拒绝

    我正在开发用于运行 Gradle 的 Eclipse 插件 https github com Nodeclipse nodeclipse 1 tree master org nodeclipse enide gradle从 Eclipse
  • 如何获取Windows的主题颜色?

    I would like to have a way to get the theme colour of the users Windows theme with WPF or C code behind And with this co
  • Haskell 多重上下文 - 柯里化?

    在类型签名上编写上下文时 通常我会做类似的事情 f Enum a Ord a gt a gt a 但纯粹是运气不好 我发现它的编译结果似乎是相同的 至少在 GHC 7 8 上是这样 f Enum a gt Ord a gt a gt a 两
  • 如何在 C# 中使用为 VB.Net 编写的 dll

    我有问题要问 我有一个为在 USB 上读取和写入数据而编写的 dll 文件 要在 VB Net 中使用 dll 需要集成一个 vb 文件 该文件的接口为 该 dll 文件使用其函数 属性等 我需要的是在 C 项目中使用这个 dll 这可能吗
  • 泛型 C# 的重载运算符[重复]

    这个问题在这里已经有答案了 我想创建一个支持连接到另一个过程的过程类 如下所示 a b c d 这应该导致过程采用 a 的输入类型 并给出 d 的输出类型 class Procedure
  • 如何在 MS Graph 中检索 DriveItems 的自定义列

    我正在尝试使用 Graph API 检索 Sharepoint 文档库中的文件层次结构 由于文档库存储在 驱动器 中 将其称为 OneDrive 在技术上是否正确 我使用的是 drives端点来获取文件列表 如下所示 https graph
  • 多核ARM cpu上的中断如何工作

    这个问题已经针对 x86 得到了解答 但是 我找不到太多关于 ARM MP cpu 如 Cortex A9 Cortex A15 等 的信息 更重要的是我想知道是否可以在非主CPU上引发中断而无需任何配置等 我正在开发一款仅处理主 cpu
  • 确定 gcry_cipher_decrypt 解密数据的大小?

    我使用的是 AES GCM 但以下是其他模式 如 AES CBC 的一般问题 我有以下电话libgcrypt define COUNTOF x sizeof x sizeof x 0 define ROUNDUP x b x x b 1 b
  • Android - 创建自定义 SearchView

    我有一个列表活动 其中包括 SearchView 和 ListView 我希望 SearchView 类似于谷歌地图 Android 应用程序中的内容 目前我在activity main xml中的SearchView代码是
  • 具有 +1 逻辑的 4 位计数器 D 触发器

    我正在尝试通过 Verilog 实现带有 1 逻辑的 D 触发器计数器 但是我收到了很多有关网络多个常量驱动程序的错误代码 有人可以帮我吗 这是到目前为止的代码 module LAB clk clear Enable Q input clk
  • 将 margin-bottom 添加到页脚之前的图像

    我想看看是否有办法添加margin bottom to an img仅当元素后跟一个footer元素 目前我正在使用一个特殊的类 image before footer 在我最后一次img元素来实现这一点 但想知道是否有办法在 CSS 中动
  • 有没有人能够成功使用 albahari.com 的 PredicateBuilder 来对抗 MongoDB?

    我使用 albahari com 中流行的 PredicateBuilder 编写了以下代码 var predicate PredicateBuilder False
  • 增加tomcat 7中的并发连接数

    想知道如何增加tomcat 7中的并发连接数 我做了一些研究 从apache文档中发现 设置acceptCount maxConnections的值并增加maxThreads可以做到这一点 但是当尝试时 我只能提交500个请求1000 下面
  • 多字段匹配查询

    我对弹性搜索相当陌生 想编写一个涉及两个字段的查询 我的意思是字段的内容包含指定的子字符串 我有一个包含字段的文档 如下所示 name n tag t 我试过这个 search d query match name n tag t 但查询结
  • androidx.legacy:legacy-support-v4: 依赖有什么用

    我正在实现 Android Room 数据库 在其中一篇教程中我发现了使用androidx legacy legacy support v4 1 0 0依赖性 谁能告诉我这种依赖关系的用途 androidx legacy legacy su
  • Linux 上的 PHP 和 RAW Sockets

    做一个就足够了 sudo setcap cap net raw eip usr bin php5 能够在 Linux 中的 PHP 而不是 CLI 中使用 RAW SOCKETS 吗 如果是 那么它不起作用 但开始在 CLI 中工作但不使用
  • 如何在 C# 中解析 HTTP url?

    我的要求是解析 Http URL 并相应地调用函数 在我当前的实现中 我使用嵌套的 if else 语句 我认为这不是一种优化的方式 您能建议其他一些有效的方法吗 网址是这样的 server func1 server func1 SubFu