POST запрос с параметрами

 
0
 
.NET
ava
Prontit | 10.07.2012, 12:50
Добрый день!

Делаю 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"], не получается.

Подскажите, что делаю не так.

Заранее благодарю!
Comments (0)

Comments are not added

Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  Prontit
advanced
Submit