Http协议网络读卡器Aspx网页Request获取刷卡数据Response回应驱动显示

news2025/2/25 3:00:29

 三种提交方式可自由设置

RFID网络WIFI无线TCP/UDP/HTTP可编程二次开发读卡器POE供电语音-淘宝网 (taobao.com)

 HttpReader.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Web.Services;
using Newtonsoft.Json;

public partial class HttpReader : System.Web.UI.Page
{
    public string RepStr = "";

    protected void Page_Load(object sender, EventArgs e)
    {
        string info = "";
        string jihao = "";
        string cardtype = "";
        string card = "";
        string Data = "";
        string dn = "";
        string Status = "";

        if (Request.Params["info"] != null) { info = Request.Params["info"]; }             //信息序号
        if (Request.Params["jihao"] != null) { jihao = Request.Params["jihao"]; }          //设备机号(可自编)
        if (Request.Params["cardtype"] != null) { cardtype = Request.Params["cardtype"]; } //卡类型有IC、ID、ISO15693等
        if (Request.Params["card"] != null) { card = Request.Params["card"]; }             //卡序列号
        if (Request.Params["data"] != null) { Data = Request.Params["data"]; }             //扇区内容
        if (Request.Params["dn"] != null) { dn = Request.Params["dn"]; }                   //设备硬件序列号,出厂时已固化,全球唯一
        if (Request.Params["status"] != null) { Status = Request.Params["status"]; }       //读卡状态,如密码认证失败为12


        if (info != "" && jihao != "" && cardtype != "" && card != "")  
        {
            RepStr = "Response=1";           //Response=固定前缀,我们的设备以此来检索返回信息,1信息类型,1为驱动设备显示和响声
            RepStr = RepStr + "," + info;    //信息序号
            RepStr = RepStr + "," + getChinesecode("卡号") + ":" + card + "  " + DateTime.Now.ToString("yy-MM-dd HH:mm:ss");    //显示信息,注意中文汉字一定要转换为设备能显示的编码,其它字母数字符号不需要转换
            RepStr = RepStr + ",20";        //显示时长20秒
            RepStr = RepStr + ",2";         //蜂鸣器发声种类
            RepStr = RepStr + ",0";         //语音种类
        }
        else
        {
            StreamReader sr = new StreamReader(Request.GetBufferlessInputStream());
            string response = sr.ReadToEnd();

            RootObject rb = JsonConvert.DeserializeObject<RootObject>(response);
            info = rb.info;            //接收到的数据包号,需回应该包号
            jihao = rb.jihao;          //设备机号(可自编)
            cardtype = rb.cardtype;    //卡类型有IC、ID、ISO15693等
            card = rb.card;            //接收到的原始16进制卡号,可根据需要自行转换成其他卡号
            Data = rb.data;            //扇区内容
            dn = rb.dn;                //设备硬件序列号,出厂时已固化,全球唯一
            Status = rb.status;        //读卡状态,如密码认证失败为12

            if (info != "" && jihao != "" && cardtype != "" && card != "")  
            {
                RepStr = "Response=1";           //Response=固定前缀,我们的设备以此来检索返回信息,1信息类型,1为驱动设备显示和响声
                RepStr = RepStr + "," + info;    //信息序号
                RepStr = RepStr + "," + getChinesecode("卡号") + ":" + card + "  " + DateTime.Now.ToString("yy-MM-dd HH:mm:ss");    //显示信息,注意中文汉字一定要转换为设备能显示的编码,其它字母数字符号不需要转换
                RepStr = RepStr + ",20";        //显示时长20秒
                RepStr = RepStr + ",2";         //蜂鸣器发声种类
                RepStr = RepStr + ",0";         //语音种类
            }
        }        
    }

    public static string getChinesecode(string inputip)   //获取中文编码
    {
        byte[] Chinesecodearry = System.Text.Encoding.GetEncoding(936).GetBytes(inputip);
        int codelen = (byte)Chinesecodearry.Length;
        string hexcode = "";
        for (int i = 0; i < codelen; i++)
        {
            if (i % 2 == 0) { hexcode = hexcode + "\\x"; }
            hexcode = hexcode + Chinesecodearry[i].ToString("X2");
        }
        return hexcode;
    }

    public class RootObject  //json类
    {
        public string info { get; set; }
        public string jihao { get; set; }
        public string cardtype { get; set; }
        public string card { get; set; }
        public string data { get; set; }
        public string dn { get; set; }
        public string status { get; set; }
    }

    protected string ResponseStr()
    {
        return RepStr;
    }
}

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="HttpReader.aspx.cs" Inherits="HttpReader" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Http读卡器Demo</title>
</head>

<body>
    <form id="form1" runat="server">
    <div style="height: 96px">
        <%  = ResponseStr() %>
    </div>
    </form>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/561551.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C/C++ 数据结构设计与应用(四):C++数据压缩与传输:从理论到实践的全景解析

C数据压缩与传输&#xff1a;从理论到实践的全景解析 一、数据压缩的策略与方法 (Strategies and Methods of Data Compression)1.1 数据压缩的基本概念与原理 (Basic Concepts and Principles of Data Compression)1.2 C中的数据压缩技术 (Data Compression Techniques in C)1…

总结vue3 的一些知识点

vue3 支持 jsx 安装依赖 pnpm add vitejs/plugin-vue-jsxvite.config.ts 中引用插件 import { defineConfig } from "vite" import vue from "vitejs/plugin-vue" import vueJsx from "vitejs/plugin-vue-jsx" // https://vitejs.dev/config/ex…

Golang每日一练(leetDay0075) 打家劫舍II、最短回文串

目录 213. 打家劫舍 II House Robber ii &#x1f31f;&#x1f31f; 214. 最短回文串 Shortest Palindrome &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C…

android App外包开发技术难点

在开发android App时需要注意一些技术问题&#xff0c;包括设备兼容、性能优化、安全问题及用户体验&#xff0c;这些问题往往是android App的通用问题&#xff0c;每个android App的项目都有这些问题&#xff0c;今天和大家分享一下这方面的知识&#xff0c;希望对大家有所帮助…

研发工程师玩转Kubernetes——使用环境变量给容器中程序传递参数

在《研发工程师玩转Kubernetes——构建、推送自定义镜像》中&#xff0c;Pod的IP是通过代码获取的 def get_ip():try:s socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.connect((8.8.8.8, 80))ip s.getsockname()[0]finally:s.close()return ip实际我们可以在清单文件中…

python 正则表达式使用总结

re库使用 re.findall import re## 存在匹配的 txt "ai aiThe rain in Spain" x re.findall("ai", txt) print(x) # 没有匹配的 txt "adafda dafasdf" x re.findall("ai", txt) print(x)s中国人adfadsfasfasdfsdaf中国万岁\n pri…

chatgpt赋能Python-python_pythonw

Python和Pythonw——SEO助您成功 Python和Pythonw是两个最广泛使用的编程语言之一。不仅是它们提供了丰富的编程功能和轻松上手的学习曲线&#xff0c;它们还具有出色的SEO优化功能&#xff0c;因为它们是自由和开源的。 Python是什么&#xff1f; Python是一种高级编程语言…

SpringCloud微服务踩坑系列:参数不全造成的空指针

服务一直报500错误&#xff0c;看了一下后台出现了空指针异常 异常如下&#xff1a; java.lang.NullPointerException: null at com.cyf.serviceOrder.service.OrderInfoService.add(OrderInfoService.java:93) ~[classes/:na] at com.cyf.serviceOrder.controller.Or…

chatgpt赋能Python-python_qq群

Python QQ群&#xff1a;学习Python的最佳社区 Python是一个非常流行的编程语言&#xff0c;因其简单易学、可读性高等特点&#xff0c;备受开发人员的青睐。为了交流学习Python&#xff0c;越来越多的人开始组建Python QQ群。本文将介绍Python QQ群的意义、特点和如何找到合适…

深入理解Java虚拟机:JVM高级特性与最佳实践-总结-10

深入理解Java虚拟机&#xff1a;JVM高级特性与最佳实践-总结-10 虚拟机类加载机制类加载的过程初始化 类加载器类与类加载器双亲委派模型 虚拟机类加载机制 类加载的过程 初始化 类的初始化阶段是类加载过程的最后一个步骤&#xff0c;前几个类的加载动作里&#xff0c;除了…

Unity 新建你的第一个游戏,以及如何按WASD控制角色运动 (Unity Demo2D)

文章目录 初始化项目新建角色物体游戏资源管理试着导入资源试着管理资源试着使用资源 脚本是啥新建脚本编辑脚本行为逻辑按键检测获取按键移动位置★ 最终代码 (有基础请直接跳到这) 初始化项目 当你打开 Unity Hub&#xff0c;初始化一个 2D 项目&#xff0c;进入了 Unity 编…

人工智能TensorFlow MNIST手写数字识别——训练篇

上期我们分享了CNN的基本结构,本期我们就拿MNIST数据集来训练一下手写数字的数据库,以便我们下期能够使用训练好的模型,来进行手写数字的识别。 分享一下几个可视化网站,可以看到神经网络的识别过程。 http://scs.ryerson.ca/~aharley/vis/conv/ 1、插入MNIST数据集 #利…

Java安全和防护:如何保护Java应用程序和用户数据的安全

第一章&#xff1a;引言 在当今数字化时代&#xff0c;Java已经成为主流的编程语言之一。无论是企业级应用程序还是个人项目&#xff0c;Java应用程序都承载着大量的敏感数据和业务逻辑。然而&#xff0c;随着网络攻击日益猖獗&#xff0c;保护Java应用程序和用户数据的安全变…

Java-API简析_java.lang.Package类(基于JDK1.8)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/130806567 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

什么是 Spring?为什么学它?

前言 欢迎来到本篇文章&#xff01;在这里&#xff0c;我将带领大家快速学习 Spring 的基本概念&#xff0c;并解答两个关键问题&#xff1a;什么是 Spring&#xff0c;以及为什么学习 Spring。 废话少说&#xff0c;下面&#xff0c;我们开始吧&#xff01; Spring 官方文档…

MySQL索引详解(IT枫斗者)

MySQL索引详解 什么是索引 官方介绍索引是帮助MySQL高效获取数据的数据结构。简单来讲&#xff0c;数据库索引就像是书前面的目录&#xff0c;能加快数据库的查询速度。事实上&#xff0c;索引是一种数据结构&#xff0c;用于帮助我们在大量数据中快速定位到我们想要查找的数…

chatgpt赋能Python-python_pyyaml

Python与PYAML的SEO 介绍 在当今以数据为中心的时代&#xff0c;数据的存储、传输和处理出现了许多新的挑战。Python作为一门强大的编程语言&#xff0c;已经成为数据处理的利器。而PYAML则是Python中一款重要的yaml库。 YAML与PYAML YAML&#xff08;YAML Ain’t Markup L…

语法速通 uni-app随笔【uni-app】【微信小程序】【vue】

1、微信小程序 1.1、wx 小程序 工程目录 其中&#xff0c; pages目录/index目录【必有】&#xff1a; index.js 编写业务逻辑 【初始数据&#xff0c;生命周期函数】 index.json 编写配置 index.wxml 编写模板 【可理解为本页html】 index.wxss 【可理解为本页css】 1.2、wx…

The Development of DBMS in History--人工翻译

导言 数据库类型 &#xff0c;有时称为数据库模型或数据库族&#xff0c;是用于在数据库管理系统内组织数据的模式和结构。多年来已经开发了许多不同的数据库类型。一些主要是当前数据库的历史前辈&#xff0c;而另一些则经受住了时间的考验。在过去的几十年中&#xff0c;新的…

chatgpt赋能Python-python_plot散点图

Python Plot散点图&#xff1a;详细介绍与使用教程 Python是一种广泛使用的编程语言&#xff0c;特别适合处理数据科学任务。Python有大量的用于数据可视化的库&#xff0c;其中matplotlib是最重要的之一。在本文中&#xff0c;我们将探讨matplotlib中的散点图plot&#xff0c…