text.cs 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.IO;
  8. using System.Linq;
  9. using System.Net;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Windows.Forms;
  13. namespace TrainVideoDataDispose
  14. {
  15. public partial class text : Form
  16. {
  17. public text()
  18. {
  19. InitializeComponent();
  20. }
  21. private void button1_Click(object sender, EventArgs e)
  22. {
  23. string datas = "<?xml version: \"1.0\" encoding=\"utf - 8\"?><DataOperation><operationType>search</operationType><searchCond><searchID>C9C75F94-1CA0-0001-BF8B-131E7EE0C9A0</searchID><timeSpanList><timeSpan><startTime>2022-04-09T00:00:00Z</startTime><endTime>2022-04-09T23:59:59Z</endTime></timeSpan></timeSpanList><criteria><dataType>0</dataType><channel/><plateType/><plateColor/><direction/><plate/><speedMin/><speedMax/><vehicleType/><vehicleColor/><laneNo/><surveilType>0</surveilType><romoteHost/><analysised>true</analysised><sendFlag/></criteria><searchResultPosition>0</searchResultPosition><maxResults>20</maxResults></searchCond></DataOperation>";
  24. Hashtable hashtable = new Hashtable();
  25. hashtable.Add("Authorization", "Digest username=\"admin\", realm=\"DVRNVRDVS\", nonce=\"d632db908d1b779b748f21029bf170a2: 1649501141033\", uri=\"/ISAPI/Traffic/ContentMgmt/dataOperation\", algorithm=MD5, response=\"04f92810633b6941fe491cc1235a12b5\", qop=auth, nc=00000092, cnonce=\"0d74d34eee63862e\"");
  26. string result = Http("http://10.111.67.23/ISAPI/Traffic/ContentMgmt/dataOperation", "POST", "application/json;charset=utf-8", hashtable, datas);
  27. }
  28. /// <summary>
  29. /// 不做catch处理,需要在外部做
  30. /// </summary>
  31. /// <param name="url"></param>
  32. /// <param name="method">默认GET,空则补充为GET</param>
  33. /// <param name="contenttype">默认json,空则补充为json</param>
  34. /// <param name="header">请求头部</param>
  35. /// <param name="data">请求body内容</param>
  36. /// <returns></returns>
  37. public static string Http(string url, string method = "GET", string contenttype = "application/json;charset=utf-8", Hashtable header = null, string data = null)
  38. {
  39. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  40. request.Method = string.IsNullOrEmpty(method) ? "GET" : method;
  41. request.ContentType = string.IsNullOrEmpty(contenttype) ? "application/json;charset=utf-8" : contenttype;
  42. if (header != null)
  43. {
  44. foreach (var i in header.Keys)
  45. {
  46. request.Headers.Add(i.ToString(), header[i].ToString());
  47. }
  48. }
  49. if (!string.IsNullOrEmpty(data))
  50. {
  51. Stream RequestStream = request.GetRequestStream();
  52. byte[] bytes = Encoding.UTF8.GetBytes(data);
  53. RequestStream.Write(bytes, 0, bytes.Length);
  54. RequestStream.Close();
  55. }
  56. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  57. Stream ResponseStream = response.GetResponseStream();
  58. StreamReader StreamReader = new StreamReader(ResponseStream, Encoding.GetEncoding("utf-8"));
  59. string re = StreamReader.ReadToEnd();
  60. StreamReader.Close();
  61. ResponseStream.Close();
  62. return re;
  63. }
  64. }
  65. }