使用C#进行URL编码
我有一个应用程序,该应用程序将POST请求发送到VB论坛软件并登录某人(不设置cookie或任何东西)。
用户登录后,我将创建一个变量,该变量将在其本地计算机上创建路径。
c:\ tempfolder \ date \用户名
问题在于某些用户名抛出“非法字符”异常。例如,如果我的用户名是mas|fenix
,它将引发异常。
Path.Combine( _ Environment.GetFolderPath(System.Environment.SpecialFolder.CommonApplicationData), _
DateTime.Now.ToString("ddMMyyhhmm") + "-" + form1.username)
我不想从字符串中删除它,但是通过服务器上的FTP创建了一个带有用户名的文件夹。这引出了我的第二个问题。如果我在服务器上创建文件夹,可以保留“非法字符”吗?我之所以只问这是因为服务器是基于Linux的,所以我不确定Linux是否接受它。
old username = mas|fenixnew username = mas%xxfenix
其中%xx是ASCII值或任何其他容易识别字符的值。
回答:
UrlEncoding将按照您在此处的建议进行操作。HttpUtility
如前所述,使用C#,您只需使用。
您还可以将正则表达式换成非法字符,然后进行替换,但这变得更加复杂,因为您将必须具有某种形式的状态机(例如switch …
case)以替换正确的字符。由于UrlEncode
这是预先完成的,因此非常容易。
至于Linux和Windows,有一些Linux可以接受的字符,但Windows却没有,但是我不用担心,因为可以使用解码Url字符串来返回文件夹名称UrlDecode
,因此您可以往返变化。
以上是 使用C#进行URL编码 的全部内容, 来源链接: utcz.com/qa/435658.html