将用户在文本框中输入的URL转换为URI格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将用户在文本框中输入的URL转换为URI格式相关的知识,希望对你有一定的参考价值。

我正在开发Windows手机应用程序。用户输入其服务器的IP和端口,数据库名称,用户名和密码。在代码中我访问'urltext.Text'输入的URL但错误弹出'无效的URI格式'。如何将数据从文本框转换为有效的URI格式。

private void SendDataButton_Click(object sender, RoutedEventArgs e)
    {
        Uri myuri = new Uri(urltext.Text);
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myuri);
        Debug.WriteLine("Hello I m here");
        Debug.WriteLine(request.GetType());
        request.BeginGetResponse(new AsyncCallback(FinishWebRequest), request);
        Console.ReadLine();
    }

我想从用户那里输入url并输入.Create()HttpWebRequest request =(HttpWebRequest)WebRequest.Create(myuri);

答案

请试试这个

Uri myuri = new Uri(urltext.Text);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myuri);

代替

HttpWebRequest request =(HttpWebRequest)WebRequest.Create(urltext.Text);

希望它对你有用

另一答案

您应该始终验证用户输入。 在这种情况下,您可以使用静态方法IsWellFormedUriString来检查输入字符串:

if(Uri.IsWellFormedUriString(Input, UriKind.Absolute)) 
{
    Uri MyUri = new Uri(Input);     
    // Do your stuff
}
else
{
   // Alert the client
}
另一答案

您可以使用Uri类的CheckHostName静态方法来验证文本。这可以是IPv4或IPv6地址或Internet主机名。

在Uri.chekstam

https://msdn.microsoft.com/en-us/library/system.uri.checkhostname%28v=vs.110%29.aspx

以上是关于将用户在文本框中输入的URL转换为URI格式的主要内容,如果未能解决你的问题,请参考以下文章

将 java 应用程序转换为 restful uri

需要帮助修复代码以将文本框中的值转换为 ActionScript 3 中的变量

将 Int 转换为分钟并在文本框中显示 swift 3

结合两个代码片段?将用户输入的 Youtube url 转换为嵌入 url,然后将 iframe src 替换为转换后的 url

输入时如何将文本字段格式设置为十进制?

在EXCEL中如何将日期格式转换,例如把2012/09/01变换成2012-09-01?