Я пытаюсь сделать, чтобы моя страница PHP отображала строку, которую я создал через функцию в моем приложении C #, через System.Net.WebClient.
Это действительно так. В простейшей форме у меня есть:
WebClient client = новый WebClient (); строка URL = "http://wwww.blah.com/page.php"; string TestData = "wooooo! test !!"; byte [] SendData = client.UploadString (URL, "POST", TestData);
Итак, я даже не уверен, что это правильный способ сделать это .. и я не уверен, как на самом деле ПОЛУЧИТЬ эту строку и отобразить ее на странице PHP. что-то вроде print_r (SendData) ??
ЛЮБАЯ помощь будет принята с благодарностью!
Есть две половинки для публикации. 1) код, который отправляется на страницу, и 2) страницу, которая его получает.
Для 1) ваш C # выглядит нормально. Я лично буду использовать:
string url = "http://wwww.blah.com/page.php"; string data = "wooooo! test!!"; using(WebClient client = new WebClient()) { client.UploadString(url, data); }
Для 2) На странице PHP:
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) { $postData = file_get_contents('php://input'); print $postData; }
Читайте о чтении данных в PHP здесь:
Используйте эти коды для отправки строки из C # с помощью метода отправки
try { string url = ""; string str = "test"; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; string Data = "message="+str; byte[] postBytes = Encoding.ASCII.GetBytes(Data); req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = postBytes.Length; Stream requestStream = req.GetRequestStream(); requestStream.Write(postBytes, 0, postBytes.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)req.GetResponse(); Stream resStream = response.GetResponseStream(); var sr = new StreamReader(response.GetResponseStream()); string responseText = sr.ReadToEnd(); } catch (WebException) { MessageBox.Show("Please Check Your Internet Connection"); }
и php-страница
<?php if (isset($_POST['message'])) { $msg = $_POST['message']; echo $msg; } ?>