отправить запрос POST на пользовательский URI в браузере по умолчанию - PullRequest
2 голосов
/ 16 сентября 2010

Мне нужно открыть системный браузер по умолчанию и отправить некоторые пользовательские данные URI POST.Итак, у меня есть две части кода: первая - открывает браузер def, а другая должна отправлять ему данные POST, но не делает этого.

Что вы можете сказать по этому поводу?

enter code here private void button1_Click(object sender, EventArgs e)
    {

        string browser = string.Empty;
        RegistryKey key = null;
        try
        {
            key = Registry.ClassesRoot.OpenSubKey(@"HTTP\shell\open\command", false);

            //trim off quotes
            browser = key.GetValue(null).ToString().ToLower().Replace("\", "");
            if (!browser.EndsWith("exe"))
            {
                //get rid of everything after the ".exe"
                browser = browser.Substring(0, browser.LastIndexOf(".exe")+4);
            }
        }
        finally
        {
            if (key != null) key.Close();
        }
        //open default system browser
        System.Diagnostics.Process.Start(browser, strURL.Text);

// ***************************************************

        // Convert string data into byte array 
        string strData = "Name=Sergiy&Age=21";
        byte[] dataByte = Encoding.UTF8.GetBytes(strData);

        HttpWebRequest POSTRequest = (HttpWebRequest)WebRequest.Create(strURL.Text);
        POSTRequest.Method = "POST";
        // Set the content type - Mine was xml.
        POSTRequest.ContentType = "application/x-www-form-urlencoded";
        POSTRequest.KeepAlive = false;
        POSTRequest.Timeout = 5000;
        POSTRequest.ContentLength = dataByte.Length;
        // Get the request stream
        Stream POSTstream = POSTRequest.GetRequestStream();
        // Write the data bytes in the request stream
        POSTstream.Write(dataByte, 0, dataByte.Length);

        //Get response from server
        HttpWebResponse POSTResponse = (HttpWebResponse)POSTRequest.GetResponse();

    }

1 Ответ

1 голос
/ 16 сентября 2010

Я думаю, что единственный контроль над браузером - это то, какой URL он открывает. Возможно, вы сможете передать ему файл: // some / path URL, в котором есть код, который вы хотите запустить как javascript. Браузер запустится, перейдет к указанному вами файлу: //, запустите javascript в файле, а затем результаты публикации отобразятся в браузере.

...