首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 shell 脚本自动申请进京证 (六环外) —— debug 过程

问题现象 用 shell 脚本写了一个自动办理六环外进京证的工具 《使用 shell 脚本自动申请进京证 (六环外)》,然而运行这个脚本总是返回以下错误信息: { "msg": "目前办理业务人数较多...硬编码日期 继续运行脚本,这回跑通了,然而申请结果不正确: { "code": 500, "msg": "进京日期不能为空!"...搞不懂这个 adb date 了,好在只是调试,可以直接硬编码日期为一个合法值: # mac date performs differs with other unix.. if [ ${IS_MAC}...明明感觉只隔了一层窗户纸,没想到捅破它却用尽了浑身的力气,哈哈~ 痛定思痛,不要使用 shell 字符串长度作为数据长度就是这个 bug 的经验教训。...arm jq 正文使用的是 rpm 包,我在搜索时又找到一个 deb 包:jq_1.6-1ubuntu0.20.04.1_arm64.deb > wget http://ports.ubuntu.com

2.2K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用Unix工具解析JSON

    比如jq: curl -s 'https://api.github.com/users/lambda' | jq -r '.name' 你也可以使用已经安装在你系统上的工具,比如使用Python的json...以下假设你希望使用UTF-8编码,原始JSON应该使用这种编码,这也是大多数现代终端使用的编码: Python 3: curl -s 'https://api.github.com/users/lambda...最后,用shell编写一个功能齐全的JSON解析器将形成一个相当大的依赖项,你不如直接使用现有的依赖项,如jq或Python。...然而,这些工具是为基于行或基于记录的格式设计的;它们并不适用于递归解析配对的分隔符以及可能存在的转义字符。...因此,使用awk/sed/grep的这些快速而简易的解决方案很可能较为脆弱,如果输入格式的某些方面发生变化,比如压缩空白字符、在JSON对象中增加额外的嵌套层级,或者字符串内的转义引号,这些方案就可能会失效

    7610

    java学习与应用(4.6)--过滤器、监听器、JQuery、AJAX、JSON等

    过滤器 Filter过滤器:客户端在请求服务器资源前和返回响应,会通过过滤器,以拦截请求完成特殊功能。登录校验、统一编码校验等一些通用操作放置到过滤器。...使用注解:过滤器执行的先后使用类名字符串比较(如AFilter,BFilter等)顺序执行。...invoke中写入Object obj=method.invoke(xxx,args);return obj方式增强真实对象。通过修改代理传入的参数,返回值,和方法体,进行增强和修改。...\$.ajax()中传入{}键值对,如url的请求路径,type的请求方式,date的携带参数字符串或json格式,success的响应成功[返回200]执行的回调函数,error的发送请求出错执行的函数...JSON基本规则:数据由键值对构成,键值用单引号或双引号也可以不使用引号,值类型为数字/字符串/逻辑值/数组/对象/null等。

    5.4K10

    python高效解析json_4个小窍门,让你在Python中高效使用JSON!

    它可以转换成:  · 字典对象  · 列表数组  · 识别布尔值、整数、浮点数和字符串,在Python中进行正确转换。  · 任何 null 都将被转换为Python的None类型。  ...使用json.dumps(…) 把由字典、列表和其他本机类型组成的Python对象转换为字符串:  >>> myjson = {'name': 'erik', 'age': 38, 'married':... {  "name": "Monty",  "age": 45  }  如果你的电脑系统是Mac或Linux,并且能够安装JSON库的话,那么你也可以研究一下jq 命令行工具。...jq将在默认情况下优化JSON  4. 使用JMESPath搜索JSON  JMESPath是一种JSON查询语言。它能够让你轻松地从JSON文档中获取所需数据。...用JMESPath表达式编写代码:  persons[*].age  它将返回一个包含所有年龄的数组:[38, 45, 14].  假设要筛选列表,只获取名为“erik”的人的年龄。

    3K00

    面试题:Java里面的反射

    通过反射技术可以摆脱编译时类型限制,避免了硬编码的情况,使Java编程更加灵活。 反射的优势 动态创建对象:可以在运行时任意地添加字段、方法和构造方法等。...利用变量名字获取代码结构信息:即程序员可以根据输入的字符串得到该字符串所表示的类、方法、参数类型和返回值类型等相关信息,并根据这个信息执行类、方法或者实例。...解除编译时的对相关类的硬依赖和硬编码 灵活性高:能够通过配置文件等方式将需要使用的类名传入。...它可以解除编译时的硬依赖和硬编码,让Java开发变得更加灵活。在实际应用中,我们可以通过反射来进行模块化设计,实现插件式扩展等功能。...但是也需要注意,在使用反射的时候要注意安全问题,并且不要过度使用反射,以免降低程序的可读性和运行效率。

    6110

    node爬虫入门

    这里只展示编写一个简单爬虫,对于爬虫的一些用处还不清楚,暂时只知道一些通用的用处:搜索引擎使用网络爬虫定向抓取网页资源、网络上面的某一类数据分析、下载很多小姐姐的图片(手动狗头)。...cheerio使用教程:https://github.com/cheeriojs/cheerio cheerio能够处理html结构的字符串,并让我们能够通过jq的语法读取到相应的dom。...函数,来对响应体的html字符串处理,load函数执行返回一个jq对象 const $ = cheerio.load(res.body); await fs.writeFile('result.json...这是因为request默认使用utf-8解码的html文件,其实html文件编码格式不只是utf-8也有可能是gbk(gb2312),而上面给的这个网址正好是使用gbk编码的。...,因此可以直接使用.then来读取到返回的对象,然后使用这个数据里面的jq对象读取页面中的内容。

    5.3K20

    关于使用jq 处理json格式的简单笔记

    json格式包含有如下的基本类型: 数字,字符串,false, true, null 而由基本类型组成的复合类型有: 数组,对象;其中数组是以 [ ] 进行标记的,而对象是以 { } 进行标记; jq...根据指定的关键字查找有该关键字的key,也就是模糊查找 jq 支持PCRE 正则表达式,所以支持模糊搜索, 这里主要展示用scan 方法输出模糊搜索的结果....#首先去掉 json 数组的 [ ] 符号, 然后调用keys 属性获得对应的keys 值,这时候的类型依然变成了数组,所以再次去掉数组的标志符号,从而变成了字符串,把这个字符串传递给scan 方法,从而输出模糊匹配的结果...#使用 .. 来表示递归,和recurse 一样; { "name": "1Da", "type": "sDl" } null null "multiple" 8)....因为scan方法只能够作用于字符串,所以不可以简单的将recurse和scan 结合起来使用,这里需要通过keys来实现 嵌套的模糊查询.

    7K10

    用腾讯云AI代码助手开发一款数据库敏感信息检查工具

    引言作为一个优秀的 IT 技术民工,需要始终学习先进的技术并将技术转换为生产力,目前 AI 领域编码辅助工具层出不穷,开发者有必要或者说必须要掌握相关工具的使用,以提高编码效率,降低编码错误。...这次我通过一个简单的项目和大家分享一下腾讯云 AI 代码助手的使用。...数据库连接字符串硬编码:数据库连接字符串中的 useSSL = false&serverTimezone = UTC 可能不适用于所有情况,应该允许通过参数传递。 ...文件写入路径硬编码:写入文件的路径被硬编码为 sensitive_data.txt,这可能导致文件被覆盖或写入到不期望的位置。应该允许通过参数传递文件路径。...Code Review小结通过使用代码优化、代码缺陷检查,可以帮助我快速发现解决问题,也是对日常编码过程的一些宝贵建议,让我的思路可以更开阔,但 AI 给出的建议并非是一定要采纳的,需要根据情况具体分析

    13110

    长文干货 | 手写自定义持久层框架!

    JDBC 编码的弊端 会造成硬编码问题(无法灵活切换数据库驱动) 频繁创建和释放数据库连接造成系统资源浪费 影响系统性能 sql 语句存在硬编码,造成代码不易维护,实际应用中 sql 变化可能较大,变动...sql 需要改 Java 代码 使用 preparedStatement 向占有位符号传参数存在硬编码, 因 sql 语句的 where 条件不确定甚至没有where条件,修改 sql 还要修改代码...验证参数问题,如果是null,就返回空字符串。...,例如频繁创建释放数据库连接,硬编码,手动封装返回结果等问题 但从测试类可以发现新的问题 dao 的实现类存在重复代码 整个操作的过程模板重复 (如创建 SqlSession 调用 SqlSession...方法 关闭 SqlSession) dao 的实现类中存在硬编码,如调用 sqlSession 方法时 参数 statementId 的硬编码 解决方案 通过代码模式来创建接口的代理对象 1.添加getMapper

    82110

    长文干货 | 手写自定义持久层框架!

    JDBC 编码的弊端 会造成硬编码问题(无法灵活切换数据库驱动) 频繁创建和释放数据库连接造成系统资源浪费 影响系统性能 sql 语句存在硬编码,造成代码不易维护,实际应用中 sql 变化可能较大,变动...sql 需要改 Java 代码 使用 preparedStatement 向占有位符号传参数存在硬编码, 因 sql 语句的 where 条件不确定甚至没有where条件,修改 sql 还要修改代码...验证参数问题,如果是null,就返回空字符串。...,例如频繁创建释放数据库连接,硬编码,手动封装返回结果等问题 但从测试类可以发现新的问题 dao 的实现类存在重复代码 整个操作的过程模板重复 (如创建 SqlSession 调用 SqlSession...方法 关闭 SqlSession) dao 的实现类中存在硬编码,如调用 sqlSession 方法时 参数 statementId 的硬编码 解决方案 通过代码模式来创建接口的代理对象 1.添加getMapper

    80820

    实现全球化:深入理解国际化框架的构建

    便利的代码搜索:由于所有的翻译都是源码的一部分,因此搜索特定翻译或排查相关的问题变得很简单易行。 可读性:开发人员可以立即理解选择特定翻译背后的流程和逻辑,从而简化调试和维护。...基于配置的国际化 在前一种方法的基础之上,我们努力保留其优点,同时解决其缺点。为了实现这一点,我们将代码库中的硬编码字符串值过渡到基于配置的设置。...我们会为每种本地语言使用单独的配置文件,并以 JSON 格式进行编码。这种模块化方式简化了翻译的添加和修改,无需进行代码的变更。...getTranslation方法使用标识符获取所需的翻译字符串。 优点: 保留了上述方式的所有优点:覆盖面广,加载后无需使用网络就能进行翻译,代码易于搜索和阅读。...以 Facebook 为例,在 News Feed 中,我们会看到这里使用了自定义的字符串来表示每篇文章的“Likes”信息。

    37510

    在Python中有效使用JSON的4个技巧

    它可以通过以下方式导入: import json 解码JSON字符串非常简单 json.loads(…) (加载字符串的简称)。...它转换为: 反对字典 数组到列表, 布尔值,整数,浮点数和字符串可以识别其含义,并将在Python中转换为正确的类型 任何 null 都将转换为Python的 None 类型 这是一个实际的例子 json.loads...使用 json.dumps(…) (“转储为字符串”的缩写)将包含字典,列表和其他本机类型的Python对象转换为字符串: >>> myjson = {'name': 'erik', 'age': 38...jq默认会漂亮地打印您的JSON 4.使用JMESPath搜索JSON ? JMESPath是JSON的查询语言。它使您可以轻松地从JSON文档中获取所需的数据。...但是循环很慢,会给您的代码带来复杂性。这就是JMESPath进来的地方! 这个JMESPath表达式将完成工作: persons[*].age 它将返回一个所有年龄的数组:[38, 45, 14]。

    3.1K20

    空安全编程的典范:Java 8中的安全应用指南

    Base64.getEncoder() 返回一个 Base64.Encoder 实例,调用 encodeToString() 方法将原始字符串的字节数组编码为Base64字符串。...Base64.getDecoder() 返回一个 Base64.Decoder 实例,调用 decode() 方法将Base64编码后的字符串解码为原始的字节数组。...使用 new String(decodedBytes) 将解码后的字节数组转换为字符串。注意事项:在实际应用中,确保使用相同的编码和解码方法,以避免数据损坏或不正确的解码结果。...Java 8 中的 java.util.Base64 类提供了方便且高效的Base64编码和解码功能,适用于处理字符串数据的安全传输和存储。...Base64.getUrlEncoder() 返回一个 Base64.Encoder 实例,调用 encodeToString() 方法将原始字符串的字节数组编码为URL和文件名安全的Base64字符串

    8210

    Mybatis(一)走进Mybatis与FisrtExample

    Mybatis可以将Sql语句配置在XML文件中,避免 将Sql语句硬编码在Java类中。 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。...设想解决:使用数据库连接池管理数据库连接 2)问题二:将 sql 语句硬编码到程序中,如果sql语句修改了,那么需要重新编译 Java 代码,不利于系统维护 设想解决:将 sql 语句配置到 xml... 设想解决:将 sql 语句以及占位符和参数都配置到 xml 文件中 4)问题四:从 resultset 中遍历结果集时,对表的字段存在硬编码,不利于系统维护 设想解决:将查询的结果集自动映射为...LAST_INSERT_ID():查询上一次执行insert 操作返回的主键id值,只适用于自增主键 resultType:指定 select LAST_INSERT_ID(...LAST_INSERT_ID():查询上一次执行insert 操作返回的主键id值,只适用于自增主键 resultType:指定 select LAST_INSERT_ID(

    66920

    自己写一个jqery的拖拽插件

    ,与上一个參数相互排斥 * fnComputePosition:扩展函数,返回形如{left:......: 1.鼠标落下后,要记录鼠标相对元素的位置,mousemove的过程中,要把这段距离减去; 2.jQuery的data方法,这种方法很方便,能够讲数据和相应的元素绑定,jq.data(key,value...)就出存储,jq.data(key)就是读取,jq.data(obj)也是存储。...3.undraggable就是把事件函数去掉了 4.jQuery的on方法很强大,加入�后还能够使用trigger方法来触发,有兴趣的同学能够到官方看看API,on方法很暴躁,这里的自己定义函数,就是用这两个方法实现的...对象上用之外,还能够使用$.each(Array,fnCallBack);之后加入�新的插件后,依照我之前的标准写,仅仅须要在第一个參数上加入�其它字符串就能够了。

    1K20
    领券