2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Quia mos HTTP eget ad upgrade originalis HTTP servitium ad servitutem quae https sustentat, quia servitus originalis HTTP in structo in HTTP audiendi servitium fenestrarum servitutis indiget, et https non sustinet nec est sicut alia. WebAPIs in IIS explicavit. Testimonium HTTPS directe oneratur sicut servitium, ita hic debes mutare originale ministerium ad https supportandas et HTTPS portum ligandi unctiones in servi ambitus praestandi, hoc modo:
(Nota: Sequentes operationes require ut habeas libellum HTTPS iam).
1. Instrue libellum, duplices tabellam deprime, eamque institue: "locus computatrum”–>“personale”;
2. Geminus-click to openertCertificatorium, videre potes (certhash) informationes relatas in informationibus felis.
3. Praestare portum binding (default portum CDXLIII)
netsh http add sslcert ipport=0.0.0.0:8080 certhash=指纹 appid={程序GUID/newguid} clientcertnegotiation=enable
4. Servo progressio exsecutionis;
- using System;
- public class HttpService
- {
- public MyHttpServer()
- {
- System.Net.HttpListener httpListener = new System.Net.HttpListener();
- httpListener.AuthenticationSchemes = System.Net.AuthenticationSchemes.Anonymous;
- httpListener.Prefixes.Add("https://*:8000/"); // 支持https
- httpListener.Start();
- new System.Threading.Thread(new System.Threading.ThreadStart(delegate
- {
- while (true)
- {
- try
- {
- System.Net.HttpListenerContext httpListenerContext = httpListener.GetContext();
- new System.Threading.Thread(new System.Threading.ParameterizedThreadStart((input) =>
- {
- System.Net.HttpListenerContext ctx = (System.Net.HttpListenerContext)input;
- System.Net.HttpListenerRequest request = ctx.Request;
- string pram = request.QueryString["Data"];//Get入参
- string responseMessage = string.Empty;//返回值
- if (!string.IsNullOrEmpty(pram))
- {
- //Get入参
- pramOrg = pram;
- pram = System.Web.HttpUtility.UrlDecode(pram);
- }
- //POST入参
- if (request.HttpMethod == "POST")
- {
- //处理业务请求
- StreamReader reader = new StreamReader(request.InputStream, Encoding.UTF8);
- pram = reader.ReadToEnd();
- reader.Close();
- reader.Dispose();
- }
- #region 业务处理
- try
- {
- //业务处理
- responseMessage = "业务结果";
- }
- catch (Exception ex)
- {
- //异常处理
- responseMessage = ex.Message;
- }
- #endregion 业务处理
- #region 返回给调用者
- //输出类型
- httpListenerContext.Response.ContentType = "text/html; charset=UTF-8";
- //返回状态
- httpListenerContext.Response.StatusCode = 200;
- //设置授权,尝试解决Jquery跨域问题
- //httpListenerContext.Response.Headers["Access-Control-Allow-Origin"] = "*";
- //httpListenerContext.Response.Headers["Access-Control-Allow-Methods"] = "GET,POST";
- //httpListenerContext.Response.Headers["Access-Control-Max-Age"] = "1000";
- try
- {
- //输出界面内容
- if (!string.IsNullOrEmpty(responseMessage))
- {
- //返回文本内容
- using (StreamWriter writer = new StreamWriter(httpListenerContext.Response.OutputStream))
- {
- writer.Write(responseMessage);
- }
- }
- }
- catch
- {
- //刷新太快异常,不做处理
- }
- #endregion 返回给调用者
- })).Start(httpListenerContext);
- }
- catch
- { }
- }
- })).Start();
- }
- }
Si in portu processum ligandi supra relatum est error, vel additio deficit, ad sequentem processum referre potes;
1. Perspice an recte parametri mandatum retis sint;
2. Deficio addere libellum SSL, error: 1312 Sessio login certa non est. Potest terminari. Modus processus:
Compendia CONCILIO+R et mmc.exe intrant, hoc modo:
Preme 'OK', et sequentis consoli radix nodi interfaciei pop sursum erit:
Lego File->Adde/Delere Snap-in, vel directe uti brevis clavis accidit+m ad pop-up sequentem pop- sursum et operationem exerce;
Inde ad personalis certificatorium import
SSL certificatorium ad portum numerus liga tandem
netsh http add sslcert ipport=0.0.0.0:8080 certhash=指纹 appid={程序GUID/newguid} clientcertnegotiation=enable