[HttpWebRequest] Сервер не читает POST запрос - C#

Узнай цену своей работы

Формулировка задачи:

Есть код: Клиент
Листинг программы
  1. HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://test.local/C.php");
  2. request.ContentType = @"text/xml;charset=""utf-8""";
  3. request.Method = "POST";
  4. request.KeepAlive = true;
  5. byte[] data = Encoding.UTF8.GetBytes("message=1");
  6. Stream requestStream = request.GetRequestStream();
  7. requestStream.Write(data, 0 , data.Length);
  8. requestStream.Close();
  9. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  10. StreamReader sr = new StreamReader(response.GetResponseStream());
  11. var responseString = sr.ReadToEnd();
  12. Console.WriteLine(responseString);
  13. Console.ReadKey();
Сервер:
Листинг программы
  1. $c = $_POST['message'];
  2. $file = fopen("file.txt", a);
  3. fwrite($file, $c);
  4. fclose($file);
  5. echo "Answer";
Ответ приходит, но php не может считать сообщение и в файл ничего не записывается. Помогите найти ошибку.

Решение задачи: «[HttpWebRequest] Сервер не читает POST запрос»

textual
Листинг программы
  1. <?php
  2. error_reporting(E_ALL);  
  3. $dt = date("Y-m-d-H:i:s");
  4. require 'vendor/autoload.php';
  5. $mongo = new MongoClient('127.10.145.129'); //соединение с монгой
  6. $coll = $mongo->posts->coll; // база посты, коллекция колл - так как одна берём глобально
  7. $app = new \Slim\Slim(); // создаёт экземпляр приложения
  8. // должен быть Json 404 - но не работает
  9. // $app->notFound(function() use($app) {
  10. //     $app->halt(404, json_encode(
  11. //             [ 'error_message' => 'Resource not found' ]
  12. //     ));
  13. // });
  14. // для всех запросов ответы с контент тайпом джейсон
  15. $app->contentType('application/json');
  16. // глобально берёшь запрос и ответ
  17. $request = $app->request;
  18. $response = $app->response;
  19. // вешаем замыкание на пост запрос роута /log
  20. $app->post('/log', function() use($request, $coll) {
  21.    
  22.     // достаём тело запроса
  23.     $body = json_decode($request->getBody(), true);
  24.     // пришиваем дату
  25.     $body['created_at'] = new MongoDate();
  26.     // пишем в коллецию
  27.     $coll->insert($body);
  28. });
  29. // гет запрос на роут лог
  30. $app->get('/log', function() use($coll) {
  31.     // берём всю коллецию - итератор  в массив, и отдаём json
  32.     echo json_encode((iterator_to_array($coll->find())));
  33. });
  34.  
  35. // запуск приложения
  36. $app->run();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут