HttpWebRequest 的 URL 被特殊字符截断

2024-03-30

我需要调用的 Web 服务的 URL 包含一个包含自由格式文本的参数。我不知道为什么它是这样设计的,因为它是使用 POST 发送的,并且包含许多字段作为 POST 的一部分。但是,这给我带来了一个问题。

对于井号和 等某些字符,URL 在遇到问题字符时会被截断。我正在对参数的文本进行 HTML 编码,但问题仍然存在。 我可以看到像 > 这样的特殊字符被编码为像 gt; 这样的东西。我认为编码字符串中的分号在某种程度上是一个问题。

我在服务器上放置了一个嗅探器来接收传入请求,我发现 URL 已被截断。

在服务器上我看到类似的内容:

    ...?extraData=kjfkfjslkj

代替:

    ...?extraData=kjfkfjslkj#kfjkdlsfj

代码是这样的:

    using System.Web;
    ....
    String strExtra="kjfkfjslkj#kfjkdlsfj";
    strURL = strStuff + "?extraData=" + System.Web.HttpUtility.HtmlEncode(strExtra);
    HttpWebRequest oRequest = (HttpWebRequest)WebRequest.Create(new Uri(strURL));
    oRequest.Method = httpMethod;
    oRequest.ContentType = "application/atom+xml";
    ...
    using (WebResponse oResponse = oRequest.GetResponse())
    {
    ...
    }

哈希之后的所有内容 (#) 标志未发送到服务器。浏览器和页面上的脚本使用它来表示页面上的位置或其他含义。删除哈希符号或对其进行 url 编码 (%23)将其发送到服务器。

这行:

strURL = strStuff + "?extraData=" + System.Web.HttpUtility.HtmlEncode(strExtra);

应该

strURL = strStuff + "?extraData=" + Server.UrlEncode(strExtra);

当使用 url 中的数据时,html 编码是没有用的。

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

HttpWebRequest 的 URL 被特殊字符截断 的相关文章

  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • 检查两个数是否是彼此的排列?

    给定两个数字 a b 使得 1 例如 123 是 312 的有效排列 我也不想对数字中的数字进行排序 如果您指的是数字的字符 例如 1927 和 9721 则 至少 有几种方法 如果允许排序 一种方法是简单地sprintf将它们放入两个缓冲
  • 如何检查图像对象与资源中的图像对象是否相同?

    所以我试图创建一个简单的程序 只需在单击图片框中更改图片即可 我目前只使用两张图片 所以我的图片框单击事件函数的代码 看起来像这样 private void pictureBox1 Click object sender EventArgs
  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46
  • 如何在 C++ BOOST 中像图形一样加载 TIFF 图像

    我想要加载一个 tiff 图像 带有带有浮点值的像素的 GEOTIFF 例如 boost C 中的图形 我是 C 的新手 我的目标是使用从源 A 到目标 B 的双向 Dijkstra 来获得更高的性能 Boost GIL load tiif
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • 我的 iOS 程序将自己宣传为什么 HTTP 用户代理?

    我为我的播客编写了一个应用程序 御宅族的播客 http otakunopodcast com 在应用程序的各个部分 我使用NSURLConnection 获取 RSS 源 UIWebView 显示网站内容 AVPlayer 从我们的 CDN
  • 包含图像的 div 底部的空间[重复]

    这个问题在这里已经有答案了 对于这个小提琴 为什么底部有一个空格div imageDiv JSFiddle http jsfiddle net 7Knyx 1 div div div img src http upload wikimedi
  • 如何使用 Python 识别 PDF 文件中的删除文本

    我想从 pdf 文件中仅提取删除线文本 我已经尝试过下面的代码 它正在使用我拥有的示例 pdf 文件 但它不适用于另一个我认为是扫描文件的 pdf 文件 有没有任何标准方法可以使用 python 从 pdf 文件中仅提取删除文本 任何帮助将
  • 如何防止浏览器在返回 Django 时重新填充表单数据

    我有一个 Django 表单 可以将数据提交到数据库 成功填写表单并提交数据后 表单将重定向到另一个页面 但是 当用户点击浏览器上的后退按钮时 数据就会返回 有没有办法防止数据返回 将其添加到您的 HTML 中 它将不会缓存 如果你想要 D
  • Dynamic_cast 是如何工作的?

    如果您有以下情况 class Animal class Bird public Animal class Dog public Animal class Penguin public Bird class Poodle public Dog
  • LinkedIn API 字段选择器

    我最近开始阅读和测试 LinkedIn 的 API 但在使用时遇到问题field selectors 我的目标是使用 API 获取有关人员的信息 例如名字 姓氏 当前公司和头衔 默认情况下 人员搜索 https developer link
  • 如何像alert()一样聚焦窗口/选项卡?

    如果在我的某些选项卡中执行了alert 那么该选项卡将立即被选中 问题是 这个alert 框很丑 我已经用我的设计和所有内容创建了 但是当我调用它时 选项卡未被选择 聚焦 窗口 焦点 不起作用 有任何想法吗 您无法可靠地强制窗口或选项卡获取
  • 使用 openpyxl 用颜色填充单元格?

    我目前正在使用 openpyxl v2 2 2 for Python 2 7 我想为单元格设置颜色 我使用了以下进口 import openpyxl from openpyxl import Workbook from openpyxl s
  • 开始使用 .NET - ASP.NET、WPF、Silverlight 还是命令行 C#?

    如果有人开始使用 NET 框架 最可行的模板是什么 我所说的可行是指具有最低学习曲线和最高收益的方法 从 开始 命令提示符应用程序 在 C 中 使用 ASP NET 的 Web 应用程序 XAML C 中的 Silverlight 应用程序
  • Ansible:迭代字典列表 - 循环与 with_items

    当尝试迭代字典列表时 使用循环与 with items 时 我得到不同的结果 我尝试过使用loop dict2items 该结构不是字典 它告诉了我很多信息 呵呵 并使用展平过滤器进行循环 这是字典列表 msg id id1 ip ip1
  • DNN 9.8 - EventLogController 已过时 - 有没有人有关于如何使用依赖注入方法来修复此错误的示例?

    有人可能有一个示例来替换 DNN 模块中旧的错误日志记录吗 我看过以下文章 https dnncommunity org forums aft 1527 https dnncommunity org forums aft 1527 有人在
  • Spring boot @RequestParam unix时间戳到LocalDateTime [重复]

    这个问题在这里已经有答案了 假设我的 RestController 中有 GetMapping public list RequestParam LocalDateTime date 我使用日期请求参数作为 unix 时间戳发出 GET 请
  • python 3.9 中的类型注释约束(`ValueRange`/`MinLen` 等)在哪里?

    看到 很棒的 新产品后Annotatedpython 3 9 中的类型注释 可变类型约束 我赶紧升级 以便可以检查它们 https docs python org 3 library typing html highlight valuer
  • 在 Swift 编程语言中隐藏文本字段的键盘

    我对 Objective C 的经验很少 我想使用 Swift 编程语言隐藏文本字段的键盘 我也尝试过这个 func textFieldShouldReturn textField UITextField gt Bool called wh
  • 使用final关键字声明一个List字段

    如果我在课堂上有以下声明Synapse是一个抽象类型 private final List
  • writeToFile 和 writeToURL 有什么区别?

    也许有人可以在这里解释一下或者发送给我正确的文档 我已经阅读了 IOS 文档 但仍然无法得到它 我什么时候使用 writeToURL 方法 也许问题出在我身上 如果除了我之外的其他人都明白这一点 但如果有人可以帮助我 我将非常感激 不同之处
  • 如何从大气噪声中获得随机数?

    我最近讨论了寻找一种生成真正随机数的方法 讨论最终讨论了使用大气噪声 有人这样做过吗 这个过程涉及什么 有人创建了一个返回从噪声中获得的随机数的网络服务吗 整个网站基于使用大气噪声生成的 真正随机 数字 他们有一个 API 如果您愿意 您可
  • 如何在 Python 中进行按位非运算?

    为了测试使用更基本的构建块 在我的例子中使用 Nand Or 和 And 构建 Xor 操作 我需要能够执行 Not 操作 内置的not似乎只用单个位来做到这一点 如果我做 x 0b1100 x not x 我应该得到0b0011但我只是得
  • sql查询获取已删除的记录

    你有一张桌子table1其中包含id列 即int 11 not null auto increment并从 1 开始 假设您有 10 000 条记录 可以看出最后一条记录的id是10000 一旦删除了 3 条记录 表中就有 9 997 条记
  • HttpWebRequest 的 URL 被特殊字符截断

    我需要调用的 Web 服务的 URL 包含一个包含自由格式文本的参数 我不知道为什么它是这样设计的 因为它是使用 POST 发送的 并且包含许多字段作为 POST 的一部分 但是 这给我带来了一个问题 对于井号和 等某些字符 URL 在遇到