我正在尝试使用c#和一些http代码提交我的Twitter登录名和密码。
我有这个HTML代码:
<div class="row password error">
<label for="password" tabindex="-1">Password</label>
<input aria-invalid="true" aria-required="true" autofocus="autofocus" class="password text" id="password" name="session[password]" type="password" value="" />
</div>
我正试图以这种方式做出回应:
var encoding = new ASCIIEncoding();
var postData = ("password=" + Social);
byte[] data = encoding.GetBytes(postData);
var myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "POST";
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
myRequest.AllowAutoRedirect = true;
var newStream = myRequest.GetRequestStream();
newStream.Write(data, 0, data.Length);
newStream.Close();
var response = myRequest.GetResponse();
var responseStream = response.GetResponseStream();
var responseReader = new StreamReader(responseStream);
var result = responseReader.ReadToEnd();
return result;
但是你可以看到输入控件的名字是session [密码],也许是问题,如果是这样,我怎样才能正确输入密码并提交这个表格。
更新小提琴结果:http://pastebin.com/raw.php?i=AcG8HUKj 感谢。
答案 0 :(得分:0)
当您使用浏览器执行常规登录时,我建议您检查浏览器和Twitter网站之间的HTTP流量。例如,使用Fiddler。
然后检查您从c#代码发送的请求,并与从浏览器发送的请求进行比较。注意标题和cookie。可能需要某种握手。