相关疑难解决方法(0)

如何在C#中为URL构建查询字符串?

从代码调用Web资源时的常见任务是构建查询字符串以包含所有必需参数.虽然无论如何都没有火箭科学,但是你需要注意一些漂亮的细节,&如果不是第一个参数,编码参数等.

这样做的代码非常简单,但有点单调乏味:

StringBuilder SB = new StringBuilder();
if (NeedsToAddParameter A) 
{ 
  SB.Append("A="); SB.Append(HttpUtility.UrlEncode("TheValueOfA")); 
}

if (NeedsToAddParameter B) 
{
  if (SB.Length>0) SB.Append("&"); 
  SB.Append("B="); SB.Append(HttpUtility.UrlEncode("TheValueOfB")); }
}
Run Code Online (Sandbox Code Playgroud)

这是一个常见的任务,人们期望实用程序类存在,使其更加优雅和可读.扫描MSDN,我找不到一个 - 这让我想到了以下问题:

你知道做上述事情最干净的方式是什么?

.net c# url query-string

459
推荐指数
18
解决办法
31万
查看次数

在Java中编码URL查询参数

如何编码查询参数以在Java中的URL上进行编码?我知道,这似乎是一个明显的问题.

我不确定有两个细微之处:

  1. 空格应该在网址上编码为"+"还是"%20"?在Chrome中,如果我输入"http://google.com/foo=?bar me",Chrome会将其更改为使用%20进行编码
  2. 将冒号":"编码为%3B是否必要/正确?Chrome没有.

笔记:

  • java.net.URLEncoder.encode似乎没有用,它似乎是为了提交表单的编码数据.例如,它+代替空间编码空间%20,并编码不必要的冒号.
  • java.net.URI 不编码查询参数

java urlencode

98
推荐指数
5
解决办法
18万
查看次数

标签 统计

.net ×1

c# ×1

java ×1

query-string ×1

url ×1

urlencode ×1