2017-02-18 7 views
0

Я пишу приложение для UWP, который запрашивает сервер с помощью метода POST на сервере я не получаю данные в $ _POST Это мой пример кодаUWP отправить сообщение запроса

public async void POSTreq() 
    { 
     Uri requestUri = new Uri("http://www.test.com"); 
     dynamic dynamicJson = new ExpandoObject(); 
     dynamicJson.username = "[email protected]".ToString(); 
     dynamicJson.password = "123456789"; 
     dynamicJson.action = "REGISTERUSER"; 
     string json = ""; 
     json = Newtonsoft.Json.JsonConvert.SerializeObject(dynamicJson); 
     var objClint = new System.Net.Http.HttpClient(); 
     System.Net.Http.HttpResponseMessage respon = await objClint.PostAsync(requestUri, new StringContent(json,System.Text.Encoding.UTF8,"application/json")); 
    } 

В стороне сервера я получаю пустой POST

DEBUG: == post()  [Array\n(\n)\n] 
DEBUG: == get()  [Array\n(\n)\n] 
DEBUG: == server()  [Array\n(\n [CONTENT_LENGTH] => 55\n [CONTENT_TYPE] => application/json; charset=utf-8\n [HTTP_HOST] => www.taskera.com\n [HTTP_CONNECTION] => Keep-Alive\n [PATH] => /sbin:/usr/sbin:/bin:/usr/bin\n [SERVER_SIGNATURE] => <address>Apache/2.2.15 (CentOS) Server at www.taskera.com Port 80</address>\n\n [SERVER_SOFTWARE] => Apache/2.2.15 (CentOS)\n [SERVER_NAME] => www.taskera.com\n [SERVER_ADDR] => 192.168.1.187\n [SERVER_PORT] => 80\n [REMOTE_ADDR] => 192.168.1.34\n [DOCUMENT_ROOT] => /var/www/html\n [SERVER_ADMIN] => [email protected]\n [SCRIPT_FILENAME] => /var/www/html/index.php\n [REMOTE_PORT] => 50574\n [GATEWAY_INTERFACE] => CGI/1.1\n [SERVER_PROTOCOL] => HTTP/1.1\n [REQUEST_METHOD] => POST\n [QUERY_STRING] => \n [REQUEST_URI] => /\n [SCRIPT_NAME] => /index.php\n [PHP_SELF] => /index.php\n [REQUEST_TIME] => 1487390506\n)\n] 

ответ

1

Клиентский код в порядке, поэтому проблема вполне вероятна на стороне вашего сервера. Это как RequestBin видит ваш запрос:

ФОРМА/POST ПАРАМЕТРЫ

Нет HEADERS

Via: 1.1 vegur Cf-Ray: 3330562272bd5b3f-HEL Cf-Visitor: { "схема":» http "} Content-Length: 79 Cf-Ipcountry: FI-соединение: close Время подключения: 0 X-Request-Id: e51d5210-7b13-497d-bb78-c7cbe54e2d41 Content-Type: application/json; Charset = UTF-8 Total-Route-Time: 0 Ведущий: requestb.in Cf-Connecting-Ip: 91.155.129.79 Accept-Encoding: GZIP RAW ТЕЛА

{ "имя пользователя": "[email protected] », "пароль": "123456789", "действие": "REGISTERUSER"}

От here вы можете найти упоминание, что $ _POST поддерживает только следующие типы контента:

  • применение/х -www-form-urlencoded (стандартный тип контента для простых форм-должностей)
  • многочастные/формы-данные в кодировке (в основном используется для файла загрузки)

Вы должны быть в состоянии прочитать тело POST с помощью file_get_contents('php://input'). Более подробную информацию о php://input можно найти в руководстве по PHP.

+0

Тогда как я могу отправить данные в формате php $ _POST для чтения из uwp. Я не хочу менять код на стороне сервера –

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