Как сделать POST-запрос к Windows Phone 7? - PullRequest
0 голосов
/ 27 ноября 2011

Как отправить данные для аутентификации на сервер?Используя текущий код:

WebClient MyWebClient = new WebClient();
        MyWebClient.OpenWriteCompleted += new OpenWriteCompletedEventHandler(MyWebClient_OpenWriteCompleted);
        MyWebClient.Headers["User-Agent"] = "Mozilla/4.0 (compatible; ICS)";
        MyWebClient.OpenWriteAsync(new Uri("http://myserver.com/login"), "POST", "email=myemail@server.com&pass=mypassword");


    void MyWebClient_OpenWriteCompleted(object sender, OpenWriteCompletedEventArgs e)
    {
        throw new NotImplementedException();
    }

После этого кода, если программный анализатор (HttpAnalyzer) просматривает заголовки и содержимое ответа, в содержимом ответа будет написано: Request is not completed. waiting ..., а заголовки ответа будут пустыми... Как сделать запрос на публикацию?

Ответы [ 2 ]

1 голос
/ 27 ноября 2011

Согласно doc , содержимое фактически отправляется, когда вы закрываете поток, переданный вам в аргументе события OpenWriteCompleted.

Поскольку вы не закроете поток должным образом,ничего не отправляет.

0 голосов
/ 21 августа 2012
//Making a POST request using WebClient.


Function()
{    
  WebClient wc = new WebClient();

  var URI = new Uri("http://your_uri_goes_here");

// Если требуется какая-либо кодировка.

  wc.Headers["Content-Type"] = "application/x-www-form-urlencoded";

// Или любой другой тип кодировки.

// Если нужен какой-либо ключ

  wc.Headers["KEY"] = "Your_Key_Goes_Here";

 wc.UploadStringCompleted += new UploadStringCompletedEventHandler(wc_UploadStringCompleted);

 wc.UploadStringAsync(URI,"POST","Data_To_Be_sent");    

}

void wc__UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)

{  

  try            
  {          
     MessageBox.Show(e.Result); 

// e.result возвращает ответ на ваш запрос POST.

 }

  catch(Exception exc)         
  {             
     MessageBox.Show(exc.ToString());            
  }

}
...