首页 > 编程语言 >C#手写http监听

C#手写http监听

时间:2024-02-24 14:45:12浏览次数:27  
标签:OutputStream http C# request requestinfo httpListener 手写 Response

在应用程序中有时需要一个http接口来与第三方通讯。

下面是个简单的代码示例:

 1  public async void StartHttpListener(string url) 
 2 {
 3    HttpListener httpListener=new HttpListener();
 4    httpListener.Prefixes.Add(url);
 5    httpListener.Start();
 6    while(true)
 7    {
 8     var requestinfo=await httpListener.GetContextAsync();
 9       if(requestinfo.Request.HttpMethod=="POST")
10        {
11          var requestEntity=await requestinfo.ReadFromJsonAsync<RequestEntityClass>();//json转为对象
12         if(requestEntity!=null)
13           {
14 
15            }
16           else
17            {
18              await requestinfo.WriteAsJsonAsync(new ResponseInfo{ code="2",message="error"});
19            }
20        }
21      request.Response.ContentType = "application/json";
22                 request.Response.ContentEncoding = Encoding.UTF8;
23                 request.Response.OutputStream.Flush();
24                 request.Response.OutputStream.Close();
25                 request.Response.OutputStream.Dispose();
26     }
27  }            
View Code

 

标签:OutputStream,http,C#,request,requestinfo,httpListener,手写,Response
From: https://www.cnblogs.com/follow-discoverer/p/18031063

相关文章

  • P4569 [BJWC2011] 禁忌 题解
    题目传送门前置知识AC自动机|矩阵加速递推解法对于一段固定的文本串,由于重叠的模式串不对伤害产生贡献,故考虑贪心,每碰到出现一个模式串将其分为一段,最终这个文本串的伤害就是划分次数。类似luoguP3193[HNOI2008]GT考试,令\(f_{i,j}\)表示前\(i\)个字符,当前运行到......
  • js_将excel内容先存入数据库,再将数据显示到页面
    <%--将excel数据显示到页面--%><scripttype="text/javascript">//原创来自www.luofenming.com//首先监听input框的变动,选中一个新的文件会触发change事件document.querySelector("#testFile").addEventListener("change",function(){......
  • Educational Codeforces Round 162 (Rated for Div. 2)
    不会F的场。A答案是最左的\(1\)和最右的\(1\)之间的\(0\)的个数。Code#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;intmain(){ ios::sync_with_stdio(false); cin.tie(0); intt; cin>>t; while(t--){ intn; cin>>n......
  • SciTech-Mathmatics-Trigonometric Identities you must remember: 需要记住的三角函
    TrigonometricIdentities(Revision:1.4)TrigonometricIdentitiesyoumustrememberThe“bigthree”trigonometricidentitiesare\(\large\begin{equation}\sin^{2}t+cos^{2}t=1\tag{1}\end{equation}\)\(\large\begin{equation}\sin(......
  • [CF1923C] Find B
    CF1923C首先如果想着先满足第一个条件,使得b数组和a数组的和相同,再想着去凑第二个条件,会发现比较困难。那么不妨反过来,先尝试满足第二个条件。一个很简单的想法是,对于\(\forall1\lei\lem\),如果\(a_i=1\),那么令\(b_i=2\),否则\(b_i=1\)。这样,再考虑去满足第一个条件。此......
  • 【触想智能】工控一体机与PLC电脑的三大区别
    工控一体机与PLC电脑都是工业自动化控制中使用非常广泛的设备。虽然它们都是一体化设备,但是它们的设计和功能是不同的。很多客户朋友对工控一体机和PLC电脑分不清,下面小编为大家介绍一下它们之间的区别。1、设计结构:工控一体机是一种将计算机和控制器集成在一......
  • think-cell Round 1
    Preface这场一周前打的了,结果因为每天都有训练一直拖到今天才有时间补前期虽然有点犯病但一直到D2出题都还算稳,然后看到E题经典数数题就走不动路了直接投降后面请徐神来救场才堪堪会做,可惜最后推出优化的式子后比赛已经结束10min了不够好在是手速够快没有掉分,感觉现在就是前面......
  • oracle_rman
    rmantarget/nocatalogCONFIGURECONTROLFILEAUTOBACKUPOFF;CONFIGUREDEVICETYPEDISKPARALLELISM2BACKUPTYPEToCOMPRESSEDBACKUPSET;RUN{SHOWALL;allocatechannelch1devicetypediskmaxpiecesize=40G;allocatechannelch2devicetypediskma......
  • Erase First or Second Letter
    先来看一下官方解答首先对任意一个操作序列,如果存在某次操作二排在相邻的操作一前面,那我们把这两次操作换成连续的两次操作一,得到的字符串显然不变所以我们可以先一直进行操作一,然后在进行操作二,我们把一种操作序列记为\((i,j)\),表示进行了\(i\)次操作一之后进行了\(j\)次操作二......
  • IIS PUT请求.netcore6.0接口 报HTTP Error 405 - Method Not Allowed
    在新的服务器上部署了一个.netcore的项目,部分请求地址使用了put、delete方式,导致无法正常请求,报Error405-MethodNotAllowed。由于配置IIS时把“WebDAV发布”给勾选了,所以会导致拦截。服务器和IIS10配置如下图:解决方案服务器上删除“WebDAV发布”1、打开“控制面......