我需要打开系统默认浏览器并发送到一些自定义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();
}
答案 0 :(得分:1)
我认为您对浏览器的唯一控制是它打开的URL。您可以将文件传递给它:// some / path URL,其中包含您要在其中运行javascript的代码。浏览器将启动,转到文件://您指定,在文件中运行javascript,然后帖子的结果将显示在浏览器中。