我正在开发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);
答案 0 :(得分:4)
您应该始终验证用户输入
在这种情况下,您可以使用静态方法IsWellFormedUriString
来检查输入字符串:
if(Uri.IsWellFormedUriString(Input, UriKind.Absolute))
{
Uri MyUri = new Uri(Input);
// Do your stuff
}
else
{
// Alert the client
}
答案 1 :(得分:0)
您可以使用Uri类的CheckHostName静态方法来验证文本。这可以是IPv4或IPv6地址或Internet主机名。
Uri.CheckHostName
https://msdn.microsoft.com/en-us/library/system.uri.checkhostname%28v=vs.110%29.aspx
答案 2 :(得分:0)
请试试这个
Uri myuri = new Uri(urltext.Text);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myuri);
而不是
HttpWebRequest request =(HttpWebRequest)WebRequest.Create(urltext.Text);
希望它对你有用