所以我正在为自己制作一个个人程序(之前我已经开了一个帖子),在这个程序中,我制作了一个亚马逊最近的物品检查器,我可以在那里取出所有的购买物并将它们填入表格上的列表视图。
到目前为止,我一直在使用webbrowser,但这种方法正在逐渐取消。所以我想我会选择webrequests并尝试这种方式,我一直在努力尝试但我无法复制POST请求以登录http://Amazon.com。这是我的代码:
var request = (HttpWebRequest)WebRequest.Create("https://www.amazon.com/ap/signin?_encoding=UTF8&openid.assoc_handle=usflex&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.max_auth_age=0&openid.return_to=https%3A%2F%2Fwww.amazon.com%2Fgp%2Fyourstore%2Fhome%3Fie%3DUTF8%26ref_%3Dgno_signin");
var postData = "All this data is so long, there's no point of posting it";
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
File.WriteAllText(@"C:\Users\Admin\Desktop\Source.html", responseString);
正如您所看到的,我正在输出源以检查它是否已登录,但它始终只是给我登录页面,有没有人有任何想法?非常感谢你们。