私は現在、FTP のユーザーを管理するための Web インターフェースを自動化しているところです。
私はHttpWebRequestでこれをやろうとしています.1回の呼び出しでサイトにログインし、2回目の呼び出しはFTPアクセス用の新しいユーザーを追加することを想定しています.
ブラウザで 2 つの URL を試してみましたが、それらは機能し、最終的にユーザーが作成されます。
string login = "https://www.ftpsite.net/./panel/index.php?txvUsername=myaccount&txvPassword=myPassword&submitButton=Login";
これにより、ブラウザのアドレスバーに入力するとログインできます。
ユーザーを作成するための 2 番目の呼び出しは次のとおりです。
string createUser = "https://www.ftpSite.net/panel/ftpsites/updatelogin?login_id=&login=toto123&realname=realnametoto&homedir=root&passwd=superpassword11&expdate=01-01-2100&neverExpire=on"a_value=0"a_unit=GB&group_id=0&status=on&ftp=on&filelist=on&ftp_download=on&http=on&web_filelist=on&web_download=on&email=";
これにより、ログインしたユーザーの後に続く場合、ブラウザのアドレスバーに入力するとユーザーが作成されます。
私の問題は、HttpWebRequest を使用してこれを実行しようとしていて、成功していないことです。ログインできますが、ユーザーを作成しようとすると、作成したユーザーが多すぎるという「悪い」エラーコードが返されるようです。これは、呼び出し後にさらに作成できるため、そうではありません。これが私がHttpRequestで使用するコードです
_datCookie = new CookieContainer();
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(login);
httpWebRequest.Method = "POST";
httpWebRequest.CookieContainer = _datCookie;
WebResponse response = httpWebRequest.GetResponse();
referer = response.ResponseUri.AbsoluteUri;
Stream requestStream = response.GetResponseStream();
StreamReader streamReader = new StreamReader(requestStream);
_datCookie = httpWebRequest.CookieContainer;
response.Close();
httpWebRequest = (HttpWebRequest)WebRequest.Create(createUser);
httpWebRequest.CookieContainer = _datCookie;
httpWebRequest.Referer = referer;
httpWebRequest.Method = "POST";
response = httpWebRequest.GetResponse();
requestStream = response.GetResponseStream();
streamReader = new StreamReader(requestStream);
webBrowser.DocumentText = streamReader.ReadToEnd();
response.Close();
ここで私が捕まえて真似しようとしたことは成功しませんでした。