让浏览器登录

时间:2016-05-12 18:38:30

标签: c# http

该计划的目标是自动登录我的Pinboard帐户。虽然我似乎与/ auth URI和Responds联系,但似乎此连接已关闭或以某种方式与打开浏览器的最后一个功能无关。当浏览器打开时,它似乎不知道该程序已经登录。

有什么想法吗?

static void Main(string[] args)
{
    string FormUrl = "https://pinboard.in/auth/";
    string PinUserName = "aarondv1";
    string PinPassword = "";
    string FormParams = string.Format("username={0}&password={1}", PinUserName, PinPassword);
    string cookieHeader;

    //Three Headers to update
    //1) ContentType
    //2)Method
    //*)  Conversion from UTF-8? to ANCI2?   
            //      Not sure that its necessary, bc pinboard might use utf?? 
    //3)ContentLength

    WebRequest req = WebRequest.Create(FormUrl);
    req.ContentType = "application/x-www-form-urlencoded";
    req.Method = "POST";

    /*Conversion*/
    byte[] bytes = Encoding.ASCII.GetBytes(FormParams);
    req.ContentLength = bytes.Length;

    using (Stream os = req.GetRequestStream())
    {
        os.Write(bytes, 0, bytes.Length);
    }

    WebResponse resp = req.GetResponse();
    string opend = resp.ResponseUri.ToString();

    System.Diagnostics.Process.Start(opend);
}

2 个答案:

答案 0 :(得分:0)

发送请求时,您还需要发送cookie。

How to: Get and Set Cookies

答案 1 :(得分:0)

如果您通过请求ajax调用Main方法,则需要获取浏览器表单javascript方法(window.navigator)并将该信息发送到Main的parms中