无效的Uri:uri方案无效

时间:2016-02-17 12:22:32

标签: c# asp.net

我正在尝试通过WebRequest登录网站。我现在得到一个例外:

WebRequest req = WebRequest.Create(formUrl.Trim());

string url,string username,string password来自文本框。这是完整的代码:

public void LoginToUrl(string url,string username, string password )
{
    formUrl = url;
    formParams = string.Format("username={0}&password={1}", username,password);                  

    WebRequest req = WebRequest.Create(formUrl.Trim());//
    req.ContentType = "application/x-www-form-urlencoded";
    req.Method = "POST";
      bytes = Encoding.ASCII.GetBytes(formParams);
    req.ContentLength = bytes.Length;
    using (Stream os = req.GetRequestStream())
    {
        os.Write(bytes, 0, bytes.Length);
    }
    WebResponse resp = req.GetResponse();
    cookieHeader = resp.Headers["Set-cookie"];
}

这是POST数据:

Host=internetlogin1.cu.edu.ng

User-Agent=Mozilla/5.0 (Windows NT 10.0; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0

Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language=en-US,en;q=0.5

Accept-Encoding=gzip, deflate

请参阅此link

Connection=keep-alive

Content-Type=application/x-www-form-urlencoded

Content-Length=49
POSTDATA=dst=&popup=true&username=13ck015373&password=F3NB

4 个答案:

答案 0 :(得分:5)

您应该传递有效的URL来创建WebRequest。 该错误表示URL(来自文本框)不包含方案(' http://'或' https://')或它无效。

在文本框中输入此网址(不要忘记http或https):

http://internetlogin1.cu.edu.nghttps://internetlogin1.cu.edu.ng

答案 1 :(得分:0)

如果有url-string的参数,那么你需要通过'?'添加它们。和'&'字符

答案 2 :(得分:0)

我也有一个架构uri无效的问题。不得不做以下工作。不知道为什么..但是fyi

使用:

Uri serverUri = new Uri("http://url.com/sub/somethingService");
var webRequest = (HttpWebRequest)WebRequest.Create(serverUri);

什么行不通(有同样的错误):

var webRequest = (HttpWebRequest)WebRequest.Create("http://url.com/sub/somethingService");

答案 3 :(得分:0)

请在您的网址中添加“ http://”或“ https://”,或检查是否没有(“”) 例如“ http://YourUrl:YourPort”不正确,应替换为http://YourUrl:YourPort。您在记事本中输入网址以查找问题