HttpHelp.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using Microsoft.AspNetCore.Http;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Text;
  6. using System.Net;
  7. using Newtonsoft.Json.Linq;
  8. using Newtonsoft.Json;
  9. using System.Net.Http;
  10. namespace DllMsgPackage
  11. {
  12. public class HttpHelp
  13. {
  14. public static DataSet GetDataSetFromHttpRequest(HttpRequest request, ref string errorinfo)
  15. {
  16. try
  17. {
  18. long len = (long)request.ContentLength;
  19. byte[] datas = new byte[len];
  20. long lev = len;
  21. while (lev > 0)
  22. {
  23. byte[] buffers = null;
  24. int max = 0;
  25. if (lev <= 1024)
  26. {
  27. buffers = new byte[lev];
  28. max = (int)lev;
  29. }
  30. else
  31. {
  32. buffers = new byte[1024];
  33. max = 1024;
  34. }
  35. int readlen = request.Body.Read(buffers, 0, max);
  36. if (readlen > 0)
  37. {
  38. Array.Copy(buffers, 0, datas, len - lev, readlen);
  39. }
  40. lev = lev - readlen;
  41. }
  42. string jsonstr = System.Text.Encoding.Default.GetString(datas);
  43. DataSet reds = MsgPackage.StrToDataSet(jsonstr, ref errorinfo);
  44. return reds;
  45. }
  46. catch (Exception ex)
  47. {
  48. errorinfo = ex.Message.ToString();
  49. return null;
  50. }
  51. }
  52. public static string GetJsonStrFromHttpRequest(HttpRequest request, ref string errorinfo)
  53. {
  54. try
  55. {
  56. long len = (long)request.ContentLength;
  57. byte[] datas = new byte[len];
  58. long lev = len;
  59. while (lev > 0)
  60. {
  61. byte[] buffers = null;
  62. int max = 0;
  63. if (lev <= 1024)
  64. {
  65. buffers = new byte[lev];
  66. max = (int)lev;
  67. }
  68. else
  69. {
  70. buffers = new byte[1024];
  71. max = 1024;
  72. }
  73. int readlen = request.Body.Read(buffers, 0, max);
  74. if (readlen > 0)
  75. {
  76. Array.Copy(buffers, 0, datas, len - lev, readlen);
  77. }
  78. lev = lev - readlen;
  79. }
  80. string jsonstr = System.Text.Encoding.Default.GetString(datas);
  81. return jsonstr;
  82. }
  83. catch (Exception ex)
  84. {
  85. errorinfo = ex.Message.ToString();
  86. return null;
  87. }
  88. }
  89. }
  90. }