亚马逊使用Webrequest登录

时间:2014-07-03 12:17:41

标签: c# login httpwebrequest amazon

所以我正在为自己制作一个个人程序(之前我已经开了一个帖子),在这个程序中,我制作了一个亚马逊最近的物品检查器,我可以在那里取出所有的购买物并将它们填入表格上的列表视图。

到目前为止,我一直在使用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);

正如您所看到的,我正在输出源以检查它是否已登录,但它始终只是给我登录页面,有没有人有任何想法?非常感谢你们。

0 个答案:

没有答案