Добрый день!Делаю POST запрос из Silverlight на PHP скрипт. Не могу передать параметры. | Код | <?php header ("Content-type: text/plain"); $string = 'Olollol'; echo $string; echo $_POST["x"]; print_r($_POST); ?>
|
| Код | using System; using System.IO; using System.Net; using System.Security; using System.Text; using System.Threading; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes;
namespace SilverlightApplication4 { public partial class MainPage : UserControl { SynchronizationContext syncContext;
public MainPage() { InitializeComponent(); }
private void button1_Click(object sender, RoutedEventArgs e) { syncContext = SynchronizationContext.Current;
HttpWebRequest request = WebRequest.Create(new Uri("http://test1.ru/index.php", UriKind.Absolute)) as HttpWebRequest; request.Method = "POST"; request.Headers["x"] = "77777";
IAsyncResult asyncResult = request.BeginGetRequestStream(new AsyncCallback(RequestStreamCallback), request); }
string statusString; private void RequestStreamCallback(IAsyncResult ar) {
HttpWebRequest request = ar.AsyncState as HttpWebRequest; request.ContentType = "text/plain"; Stream requestStream = request.EndGetRequestStream(ar); StreamWriter streamWriter = new StreamWriter(requestStream);
streamWriter.Write("y=123123"); streamWriter.Close();
request.BeginGetResponse(new AsyncCallback(ResponseCallback), request); }
private void ResponseCallback(IAsyncResult ar) { HttpWebRequest request = ar.AsyncState as HttpWebRequest; WebResponse response = null; try { response = request.EndGetResponse(ar); } catch (WebException we) { statusString = we.Status.ToString(); } catch (SecurityException se) { statusString = se.Message; if (statusString == "") statusString = se.InnerException.Message; }
// Invoke onto UI thread syncContext.Post(ExtractResponse, response); }
private void ExtractResponse(object state) { HttpWebResponse response = state as HttpWebResponse;
if (response != null && response.StatusCode == HttpStatusCode.OK) { StreamReader responseReader = new StreamReader(response.GetResponseStream());
MessageBox.Show(response.StatusCode.ToString() + " Response: " + responseReader.ReadToEnd()); } else MessageBox.Show("Post failed: " + statusString); } } }
|
пример взял с MSDN http://msdn.microsoft.com/en-us/library/cc...n_communicationВылезает только " Olollol", массив пустой, и $_POST[x] тоже нету. Пытался передавать через streamWriter.Write и через request.Headers["x"], не получается. Подскажите, что делаю не так. Заранее благодарю!Это сообщение отредактировал(а) Prontit - 10.7.2012, 11:51
|