我正在尝试通过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
答案 0 :(得分:5)
您应该传递有效的URL来创建WebRequest。 该错误表示URL(来自文本框)不包含方案(' http://'或' https://')或它无效。
在文本框中输入此网址(不要忘记http或https):
http://internetlogin1.cu.edu.ng或https://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。您在记事本中输入网址以查找问题