Witam
Dzięki za zainteresowanie !
Chcę zalogować się na stronie kamery przez webbrowser. Przedstawię po kolei co już zrobiłem i co mam zamiar osiągnąć.
- Skopiowałem z firebug-a następujący wpis z POST-a :```
{"method":"global.login","params":{"userName":"admin","password":"","clientType":"Web3.0","loginType":"Direct"},"id":1}
2. Zubudowałem z waszą pomocą string login:
string loginData = String.Format("{{"method":"global.login","params":{{"userName":"","password":"haslo","clientType":"Web3.0","loginType":"Direct"}},"id":152}}",userName,password,clientType,loginType);
Na stronkę wchodzę, ale nie chce śmigać
3. Cały kod wygląda tak
//GET
CookieContainer cookies = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://adres kamery/");
request.UserAgent = "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0";
request.Method = "GET";
request.CookieContainer = cookies;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
//POST
request = (HttpWebRequest)HttpWebRequest.Create("http://adres kamery");
request.Method = "POST";
request.CookieContainer = cookies;
string userName = "user";
string password = "haslo";
string clientType = "Web3.0";
string loginType = "Direct";
string loginData = String.Format("{{\"method\":\"global.login\",\"params\":{{\"userName\":\"admin\",\"password\":\"haslo\",\"clientType\":\"Web3.0\",\"loginType\":\"Direct\"}},\"id\":152}}",userName,password,clientType,loginType);
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
request.ContentType = "Content-Type: application/x-www-form-urlencoded\n\r";
byte[] loginDataBytes = Encoding.ASCII.GetBytes(loginData);
Stream postData = request.GetRequestStream();
postData.Write(loginDataBytes, 0, loginDataBytes.Length);
postData.Close();
response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
webBrowser1.Navigate("http://adres", "", loginDataBytes, request.ContentType);
response.Close();
}