2015-12-14 2 views
0

Так на моих клиентах (Windows Phone 8.1 приложения) я разместил JSON только для тестирования, вот код для этого:Проблем с размещением JSON

public async void SendJSON() 
    { 
     try 
     { 
      string url = "http://posttestserver.com/post.php?dir=karim"; 

      var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); 
      httpWebRequest.ContentType = "text/plain; charset=utf-8"; 
      httpWebRequest.Method = "POST"; 

      using (var stream = await Task.Factory.FromAsync<Stream>(httpWebRequest.BeginGetRequestStream, 
                 httpWebRequest.EndGetRequestStream, null)) 
      { 
       //create some json string 
       string json = "{ \"my\" : \"json\" }"; 

       // convert json to byte array 
       byte[] jsonAsBytes = Encoding.UTF8.GetBytes(json); 

       // Write the bytes to the stream 
       await stream.WriteAsync(jsonAsBytes, 0, jsonAsBytes.Length); 
      } 
     } 
     catch(Exception ex) 
     { 

     } 

    } 

Теперь я пытаюсь выяснить, из www.myurl.com, как я могу получить то, что было опубликовано из мобильного приложения, используя веб-службу?

UPDATE

Когда я отлаживать эти строки, он отлично работает, не нарушая ни попадающие в улове. Однако, глядя на то, где он должен опубликовать (результаты здесь http://www.posttestserver.com/data/2015/12/14/karim/), он ничего не публикует.

Кто-нибудь знает, что я делаю неправильно?

BTW: у меня уже есть результаты, потому что я сделал это прямо с моего рабочего стола.

ответ

0

Если вы просто хотите увидеть, что вы отправить, вы можете использовать этот http://posttestserver.com

В противном случае не простой способ, как заставить некоторую конечную точку для извлечения данных. Там необходимо, но настроить сервер, который позволяет ему, обрабатывающий его, хранить его и т.д.


Если POST ничего http://posttestserver.com/post.php вернет вам это послание

успешно сбрасывал 0 почтовых переменные. Просмотреть его на http://www.posttestserver.com/data/2015/12/15/00.19.29177030164 Сообщение корпус был 134 символов длинный.

Так просто напечатать где-то ваш ответ, и вы получите точный адрес

+0

Обновленного вопрос – KTOV

+0

@KTOV - обновленный ответ – libik

0

Не уверены, что вы пытаетесь сделать, но если вы хотите проверить ваш HTTP-запросы Скрипач является хорошим выбором. Поскольку вы используете приложения для Windows-телефонов, вы можете настроить эмулятор Windows-телефона на прокси-сервер через скрипач.

Вот блог, как установить это: http://blogs.msdn.com/b/wsdevsol/archive/2013/06/05/configure-the-windows-phone-8-emulator-to-work-with-fiddler.aspx - Настройка телефона для Windows 8 Emulator для работы с Fiddler

// Edit: Рассматривали ли вы использовать HttpClient

var httpClient = new HttpClient(); 
string resourceAddress = "http://posttestserver.com/post.php?dir=karim"; 
      string postBody = "{ \"my\" : \"json\" }" 
      httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
      var response = await httpClient.PostAsync(resourceAddress, new StringContent(postBody, Encoding.UTF8, "application/json")); 

Код от верхней части головы, поэтому вам, возможно, придется его подстроить ... и, конечно же, вам нужно обрабатывать случаи ошибок и/или повторить попытку и т. Д. HTH

+0

Изменено вопрос – KTOV

Смежные вопросы