C# 経由で投稿フォームを送信しようとしています。以前の質問をたくさん閲覧してきましたが、実用的な解決策には至りませんでした。C# 経由で SSL URL の次の html フォームに回答したいと思います。
<form action="/start/" method="post">
<input name="formtoken" type="hidden" value="SignupForm">
<input id="Email" name="Email" placeholder="Enter email address" type="text" value="">
<input autocomplete="off" id="Username" name="Username" placeholder="Enter username" type="text" value="">
<input autocomplete="off" id="Password" name="Password" placeholder="Enter password" type="password">
<input autocomplete="off" id="PasswordRetype" name="PasswordRetype" placeholder="Retype Password" type="password">
</form>
別のstackoverflowの質問で見つけた次のc#コードを変更することにより:
static void Main(string[] args)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://url.com/start/");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
string postData = "formtoken=SignupForm&Email=sdfjsdfkhdsf2332@gmail.com?Username=test123?Password=testpw123?PasswordRetype=testpw123";
byte[] bytes = Encoding.UTF8.GetBytes(postData);
request.ContentLength = bytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
var result = reader.ReadToEnd();
stream.Dispose();
reader.Dispose();
}
結果は、フォームを含む前のページを返します。クロムネットワークツールを介した手動入力で検証することにより、postData変数が正しいことを確認しました。SSLが何か関係があるのではないかと疑っていますが、何かアイデアはありますか?
前もって感謝します