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

问题描述 投票:1回答:3

我正在开发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);

c# windows windows-phone-8
3个回答
0
投票

请试试这个

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

代替

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

希望它对你有用


4
投票

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

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

0
投票

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

在Uri.chekstam

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

© www.soinside.com 2019 - 2024. All rights reserved.