В C # можно ли открыть URL в фоновом режиме, не открывая браузер?
Мой код должен предоставить некоторую информацию на сервер через скрипт php.
В основном хочу позвонитьwww.sitename.com/example.php?var1=1&var2=2&var3=3
но я нене хочу, чтобы браузер открылся, такProcess.Start(URL);
победил'т работа.
Поскольку я захожу на этот сайт, чтобы узнать, а не получить ответы, в основном я объясню, что яя уже сделал и ошибки, которые я получил. Если вы все равно знаете решение, не стесняйтесь пропустить следующую часть.
Я посмотрел вокруг, и я увидел решение для использования POST:
ASCIIEncoding encoding=new ASCIIEncoding();
string postData="var1=1&var2=2&var3=3";
byte[] data = encoding.GetBytes(postData);
// Prepare web request...
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://localhost/site.php");
myRequest.Method = "POST";
myRequest.ContentType="application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream=myRequest.GetRequestStream();
// Send the data.
newStream.Write(data,0,data.Length);
newStream.Close();
Тем не менее, я требую использованияGET
неPOST
, Сначала я подумал, что решение может быть изменитьmyRequest.Method = "POST";
вGET
, но это нене работает, потому что этоне какGET
работает, он тянет данные с URL.
Итак, я попытался изменить предыдущий код на:
HttpwebRequest myRequest= (HttpWebRequest)WebRequest.Create("http://localhost/site.php" + postData);
Stream newStream = myRequest.GetRequestStream();
newStream.Close()
Под логикой, что это будет называть URL, который (надеюсь) инициирует запрос GET_ на скрипт php, и тогда жизнь будет денди. Это, однако, привело к следующей ошибке:
A first chance exception of type 'System.Net.ProtocolViolationException' occurred in System.dll
An unhandled exception of type 'System.Net.ProtocolViolationException' occurred in System.dll
Additional information: Cannot send a content-body with this verb-type.
Любая помощь приветствуется, и спасибо.