Unauthorized: Token missing or malformed.
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
Python内容推荐
lua-resty-jwt:JWT为伟大的Openresty
lua-resty-jwt:JWT为伟大的Openresty
H248-协议错误码
H.248可以应用于SCN(Switched Circuit Network)、IP、ATM、有线电视网或其他可能的电路或分组网络中的任何的两种或多种网络之间的媒体网关控制的协议
annotations-action:GitHub动作从JSON文件创建注释
注释动作 此操作从JSON文件创建注释。 为了使用此操作,您将需要使用以下格式生成JSON文件( 所有选项也受支持,建议使用它们): [ { file : "path/to/file.js" , line : 5 , title : "title for my annotation" , message : "my message" , annotation_level : "failure" } ] 输入项 repo-token 用于与GitHub API交互的必需令牌。 input 包含注释列表的JSON文件的必需路径。 title 支票的可选标题。 默认值:“检查”。 ignore-unauthorized-error 可选如果提供的存储令牌没有写权限,请忽略错误。 默认值:“ false”。 ignore-missing
HTTP协议规范
HTTP协议规范——rfc2616.txt
adb1.0.26包含fastboot.exe
ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 注:有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。 基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s ] 如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s ] 这一部分,直接使用 adb 。 为命令指定目标设备 如果有多个设备/模拟器连接,则需要为命令指定目标设备。 参数 含义 -d 指定当前唯一通过 USB 连接的 Android 设备为命令目标 -e 指定当前唯一运行的模拟器为命令目标 -s 指定相应 serialNumber 号的设备/模拟器为命令目标 在多个设备/模拟器连接的情况下较常用的是 -s 参数,serialNumber 可以通过 adb devices 命令获取。如: $ adb devices List of devices attached cf264b8f device emulator-5554 device 10.129.164.6:5555 device 输出里的 cf264b8f、emulator-5554 和 10.129.164.6:5555 即为 serialNumber。 比如这时想指定 cf264b8f 这个设备来运行 adb 命令获取屏幕分辨率: adb -s cf264b8f shell wm size 又如想给 10.129.164.6:5555 这个设备安装应用(这种形式的 serialNumber 格式为 :,一般为无线连接的设备或 Genymotion 等第三方 Android 模拟器): adb -s 10.129.164.6:5555 install test.apk 遇到多设备/模拟器的情况均使用这几个参数为命令指定目标设备,下文中为简化描述,不再重复。 启动/停止 启动 adb server 命令: adb start-server (一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。) 停止 adb server 命令: adb kill-server 查看 adb 版本 命令: adb version 示例输出: Android Debug Bridge version 1.0.36 Revision 8f855a3d9b35-android 以 root 权限运行 adbd adb 的运行原理是 PC 端的 adb server 与手机端的守护进程 adbd 建立连接,然后 PC 端的 adb client 通过 adb server 转发命令,adbd 接收命令后解析运行。 所以如果 adbd 以普通权限执行,有些需要 root 权限才能执行的命令无法直接用 adb xxx 执行。这时可以 adb shell 然后 su 后执行命令,也可以让 adbd 以 root 权限执行,这个就能随意执行高权限命令了。 命令: adb root 正常输出: restarting adbd as root 现在再运行 adb shell,看看命令行提示符是不是变成 # 了? 有些手机 root 后也无法通过 adb root 命令让 adbd 以 root 权限执行,比如三星的部分机型,会提示 adbd cannot run as root in production builds,此时可以先安装 adbd Insecure,然后 adb root 试试。 相应地,如果要恢复 adbd 为非 root 权限的话,可以使用 adb unroot 命令。 指定 adb server 的网络端口 命令: adb -P start-server 默认端口为 5037。 设备连接管理 查询已连接设备/模拟器 命令: adb devices 输出示例: List of devices attached cf264b8f device emulator-5554 device 10.129.164.6:5555 device 输出格式为 [serialNumber] [state],serialNumber 即我们常说的 SN,state 有如下几种: offline —— 表示设备未连接成功或无响应。 device —— 设备已连接。注意这个状态并不能标识 Android 系统已经完全启动和可操作,在设备启动过程中设备实例就可连接到 adb,但启动完毕后系统才处于可操作状态。 no device —— 没有设备/模拟器连接。 以上输出显示当前已经连接了三台设备/模拟器,cf264b8f、emulator-5554 和 10.129.164.6:5555 分别是它们的 SN。从 emulator-5554 这个名字可以看出它是一个 Android 模拟器,而 10.129.164.6:5555 这种形为 : 的 serialNumber 一般是无线连接的设备或 Genymotion 等第三方 Android 模拟器。 常见异常输出: 没有设备/模拟器连接成功。 List of devices attached 设备/模拟器未连接到 adb 或无响应。 List of devices attached cf264b8f offline USB 连接 通过 USB 连接来正常使用 adb 需要保证几点: 硬件状态正常。 包括 Android 设备处于正常开机状态,USB 连接线和各种接口完好。 Android 设备的开发者选项和 USB 调试模式已开启。 可以到「设置」-「开发者选项」-「Android 调试」查看。 如果在设置里找不到开发者选项,那需要通过一个彩蛋来让它显示出来:在「设置」-「关于手机」连续点击「版本号」7 次。 设备驱动状态正常。 这一点貌似在 Linux 和 Mac OS X 下不用操心,在 Windows 下有可能遇到需要安装驱动的情况,确认这一点可以右键「计算机」-「属性」,到「设备管理器」里查看相关设备上是否有黄色感叹号或问号,如果没有就说明驱动状态已经好了。否则可以下载一个手机助手类程序来安装驱动先。 通过 USB 线连接好电脑和设备后确认状态。 adb devices 如果能看到 xxxxxx device 说明连接成功。 无线连接(需要借助 USB 线) 除了可以通过 USB 连接设备与电脑来使用 adb,也可以通过无线连接——虽然连接过程中也有需要使用 USB 的步骤,但是连接成功之后你的设备就可以在一定范围内摆脱 USB 连接线的限制啦! 操作步骤: 将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。 将设备与电脑通过 USB 线连接。 应确保连接成功(可运行 adb devices 看是否能列出该设备)。 让设备在 5555 端口监听 TCP/IP 连接: adb tcpip 5555 断开 USB 连接。 找到设备的 IP 地址。 一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里 查看设备信息 - IP 地址 一节里的方法用 adb 命令来查看。 通过 IP 地址连接设备。 adb connect 这里的 就是上一步中找到的设备 IP 地址。 确认连接状态。 adb devices 如果能看到 :5555 device 说明连接成功。 如果连接不了,请确认 Android 设备与电脑是连接到了同一个 WiFi,然后再次执行 adb connect 那一步; 如果还是不行的话,通过 adb kill-server 重新启动 adb 然后从头再来一次试试。 断开无线连接 命令: adb disconnect 无线连接(无需借助 USB 线) 注:需要 root 权限。 上一节「无线连接(需要借助 USB 线)」是官方文档里介绍的方法,需要借助于 USB 数据线来实现无线连接。 既然我们想要实现无线连接,那能不能所有步骤下来都是无线的呢?答案是能的。 在 Android 设备上安装一个终端模拟器。 已经安装过的设备可以跳过此步。我使用的终端模拟器下载地址是:Terminal Emulator for Android Downloads 将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。 打开 Android 设备上的终端模拟器,在里面依次运行命令: su setprop service.adb.tcp.port 5555 找到 Android 设备的 IP 地址。 一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里 查看设备信息 - IP 地址 一节里的方法用 adb 命令来查看。 在电脑上通过 adb 和 IP 地址连接 Android 设备。 adb connect 这里的 就是上一步中找到的设备 IP 地址。 如果能看到 connected to :5555 这样的输出则表示连接成功。 节注一: 有的设备,比如小米 5S + MIUI 8.0 + Android 6.0.1 MXB48T,可能在第 5 步之前需要重启 adbd 服务,在设备的终端模拟器上运行: restart adbd 如果 restart 无效,尝试以下命令: start adbd stop adbd 应用管理 查看应用列表 查看应用列表的基本命令格式是 adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER] 即在 adb shell pm list packages 的基础上可以加一些参数进行过滤查看不同的列表,支持的过滤参数如下: 参数 显示列表 无 所有应用 -f 显示应用关联的 apk 文件 -d 只显示 disabled 的应用 -e 只显示 enabled 的应用 -s 只显示系统应用 -3 只显示第三方应用 -i 显示应用的 installer -u 包含已卸载应用 包名包含 字符串 所有应用 命令: adb shell pm list packages 输出示例: package:com.android.smoketest package:com.example.android.livecubes package:com.android.providers.telephony package:com.google.android.googlequicksearchbox package:com.android.providers.calendar package:com.android.providers.media package:com.android.protips package:com.android.documentsui package:com.android.gallery package:com.android.externalstorage ... // other packages here ... 系统应用 命令: adb shell pm list packages -s 第三方应用 命令: adb shell pm list packages -3 包名包含某字符串的应用 比如要查看包名包含字符串 mazhuang 的应用列表,命令: adb shell pm list packages mazhuang 当然也可以使用 grep 来过滤: adb shell pm list packages | grep mazhuang 安装 APK 命令格式: adb install [-lrtsdg] 参数: adb install 后面可以跟一些可选参数来控制安装 APK 的行为,可用参数及含义如下: 参数 含义 -l 将应用安装到保护目录 /mnt/asec -r 允许覆盖安装 -t 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly="true" 的应用 -s 将应用安装到 sdcard -d 允许降级覆盖安装 -g 授予所有运行时权限 运行命令后如果见到类似如下输出(状态为 Success)代表安装成功: [100%] /data/local/tmp/1.apk pkg: /data/local/tmp/1.apk Success 上面是当前最新版 v1.0.36 的 adb 的输出,会显示 push apk 文件到手机的进度百分比。 使用旧版本 adb 的输出则是这样的: 12040 KB/s (22205609 bytes in 1.801s) pkg: /data/local/tmp/SogouInput_android_v8.3_sweb.apk Success 而如果状态为 Failure 则表示安装失败,比如: [100%] /data/local/tmp/map-20160831.apk pkg: /data/local/tmp/map-20160831.apk Failure [INSTALL_FAILED_ALREADY_EXISTS] 常见安装失败输出代码、含义及可能的解决办法如下: 输出 含义 解决办法 INSTALL_FAILED_ALREADY_EXISTS 应用已经存在,或卸载了但没卸载干净 adb install 时使用 -r 参数,或者先 adb uninstall 再安装 INSTALL_FAILED_INVALID_APK 无效的 APK 文件 INSTALL_FAILED_INVALID_URI 无效的 APK 文件名 确保 APK 文件名里无中文 INSTALL_FAILED_INSUFFICIENT_STORAGE 空间不足 清理空间 INSTALL_FAILED_DUPLICATE_PACKAGE 已经存在同名程序 INSTALL_FAILED_NO_SHARED_USER 请求的共享用户不存在 INSTALL_FAILED_UPDATE_INCOMPATIBLE 以前安装过同名应用,但卸载时数据没有移除 先 adb uninstall 再安装 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 请求的共享用户存在但签名不一致 INSTALL_FAILED_MISSING_SHARED_LIBRARY 安装包使用了设备上不可用的共享库 INSTALL_FAILED_REPLACE_COULDNT_DELETE 替换时无法删除 INSTALL_FAILED_DEXOPT dex 优化验证失败或空间不足 INSTALL_FAILED_OLDER_SDK 设备系统版本低于应用要求 INSTALL_FAILED_CONFLICTING_PROVIDER 设备里已经存在与应用里同名的 content provider INSTALL_FAILED_NEWER_SDK 设备系统版本高于应用要求 INSTALL_FAILED_TEST_ONLY 应用是 test-only 的,但安装时没有指定 -t 参数 INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 包含不兼容设备 CPU 应用程序二进制接口的 native code INSTALL_FAILED_MISSING_FEATURE 应用使用了设备不可用的功能 INSTALL_FAILED_CONTAINER_ERROR 1. sdcard 访问失败; 2. 应用签名与 ROM 签名一致,被当作内置应用 1. 确认 sdcard 可用,或者安装到内置存储; 2. 打包时不与 ROM 使用相同签名 INSTALL_FAILED_INVALID_INSTALL_LOCATION 1. 不能安装到指定位置; 2. 应用签名与 ROM 签名一致,被当作内置应用 1. 切换安装位置,添加或删除 -s 参数; 2. 打包时不与 ROM 使用相同签名 INSTALL_FAILED_MEDIA_UNAVAILABLE 安装位置不可用 一般为 sdcard,确认 sdcard 可用或安装到内置存储 INSTALL_FAILED_VERIFICATION_TIMEOUT 验证安装包超时 INSTALL_FAILED_VERIFICATION_FAILURE 验证安装包失败 INSTALL_FAILED_PACKAGE_CHANGED 应用与调用程序期望的不一致 INSTALL_FAILED_UID_CHANGED 以前安装过该应用,与本次分配的 UID 不一致 清除以前安装过的残留文件 INSTALL_FAILED_VERSION_DOWNGRADE 已经安装了该应用更高版本 使用 -d 参数 INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE 已安装 target SDK 支持运行时权限的同名应用,要安装的版本不支持运行时权限 INSTALL_PARSE_FAILED_NOT_APK 指定路径不是文件,或不是以 .apk 结尾 INSTALL_PARSE_FAILED_BAD_MANIFEST 无法解析的 AndroidManifest.xml 文件 INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION 解析器遇到异常 INSTALL_PARSE_FAILED_NO_CERTIFICATES 安装包没有签名 INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES 已安装该应用,且签名与 APK 文件不一致 先卸载设备上的该应用,再安装 INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING 解析 APK 文件时遇到 CertificateEncodingException INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME manifest 文件里没有或者使用了无效的包名 INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID manifest 文件里指定了无效的共享用户 ID INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 解析 manifest 文件时遇到结构性错误 INSTALL_PARSE_FAILED_MANIFEST_EMPTY 在 manifest 文件里找不到找可操作标签(instrumentation 或 application) INSTALL_FAILED_INTERNAL_ERROR 因系统问题安装失败 INSTALL_FAILED_USER_RESTRICTED 用户被限制安装应用 INSTALL_FAILED_DUPLICATE_PERMISSION 应用尝试定义一个已经存在的权限名称 INSTALL_FAILED_NO_MATCHING_ABIS 应用包含设备的应用程序二进制接口不支持的 native code INSTALL_CANCELED_BY_USER 应用安装需要在设备上确认,但未操作设备或点了取消 在设备上同意安装 INSTALL_FAILED_ACWF_INCOMPATIBLE 应用程序与设备不兼容 does not contain AndroidManifest.xml 无效的 APK 文件 is not a valid zip file 无效的 APK 文件 Offline 设备未连接成功 先将设备与 adb 连接成功 unauthorized 设备未授权允许调试 error: device not found 没有连接成功的设备 先将设备与 adb 连接成功 protocol failure 设备已断开连接 先将设备与 adb 连接成功 Unknown option: -s Android 2.2 以下不支持安装到 sdcard 不使用 -s 参数 No space left on devicerm 空间不足 清理空间 Permission denied … sdcard … sdcard 不可用 参考:PackageManager.java adb install 内部原理简介 adb install 实际是分三步完成: push apk 文件到 /data/local/tmp。 调用 pm install 安装。 删除 /data/local/tmp 下的对应 apk 文件。 所以,必要的时候也可以根据这个步骤,手动分步执行安装过程。 卸载应用 命令: adb uninstall [-k] 表示应用的包名,-k 参数可选,表示卸载应用但保留数据和缓存目录。 命令示例: adb uninstall com.qihoo360.mobilesafe 表示卸载 360 手机卫士。 清除应用数据与缓存 命令: adb shell pm clear 表示应用名包,这条命令的效果相当于在设置里的应用信息界面点击了「清除缓存」和「清除数据」。 命令示例: adb shell pm clear com.qihoo360.mobilesafe 表示清除 360 手机卫士的数据和缓存。 查看前台 Activity 命令: adb shell dumpsys activity activities | grep mFocusedActivity 输出示例: mFocusedActivity: ActivityRecord{8079d7e u0 com.cyanogenmod.trebuchet/com.android.launcher3.Launcher t42} 其中的 com.cyanogenmod.trebuchet/com.android.launcher3.Launcher 就是当前处于前台的 Activity。 查看正在运行的 Services 命令: adb shell dumpsys activity services [] 参数不是必须的,指定 表示查看与某个包名相关的 Services,不指定表示查看所有 Services。 不一定要给出完整的包名,比如运行 adb shell dumpsys activity services org.mazhuang,那么包名 org.mazhuang.demo1、org.mazhuang.demo2 和 org.mazhuang123 等相关的 Services 都会列出来。 与应用交互 主要是使用 am 命令,常用的 如下: command 用途 start [options] 启动 指定的 Activity startservice [options] 启动 指定的 Service broadcast [options] 发送 指定的广播 force-stop 停止 相关的进程 参数很灵活,和写 Android 程序时代码里的 Intent 相对应。 用于决定 intent 对象的选项如下: 参数 含义 -a 指定 action,比如 android.intent.action.VIEW -c 指定 category,比如 android.intent.category.APP_CONTACTS -n 指定完整 component 名,用于明确指定启动哪个 Activity,如 com.example.app/.ExampleActivity 里还能带数据,就像写代码时的 Bundle 一样: 参数 含义 --esn null 值(只有 key 名) -e|--es string 值 --ez boolean 值 --ei integer 值 --el long 值 --ef float 值 --eu URI --ecn component name --eia [,<EXTRA_INT_VALUE...] integer 数组 --ela [,<EXTRA_LONG_VALUE...] long 数组 调起 Activity 命令格式: adb shell am start [options] 例如: adb shell am start -n com.tencent.mm/.ui.LauncherUI 表示调起微信主界面。 adb shell am start -n org.mazhuang.boottimemeasure/.MainActivity --es "toast" "hello, world" 表示调起 org.mazhuang.boottimemeasure/.MainActivity 并传给它 string 数据键值对 toast - hello, world。 调起 Service 命令格式: adb shell am startservice [options] 例如: adb shell am startservice -n com.tencent.mm/.plugin.accountsync.model.AccountAuthenticatorService 表示调起微信的某 Service。 发送广播 命令格式: adb shell am broadcast [options] 可以向所有组件广播,也可以只向指定组件广播。 例如,向所有组件广播 BOOT_COMPLETED: adb shell am broadcast -a android.intent.action.BOOT_COMPLETED 又例如,只向 org.mazhuang.boottimemeasure/.BootCompletedReceiver 广播 BOOT_COMPLETED: adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n org.mazhuang.boottimemeasure/.BootCompletedReceiver 这类用法在测试的时候很实用,比如某个广播的场景很难制造,可以考虑通过这种方式来发送广播。 既能发送系统预定义的广播,也能发送自定义广播。如下是部分系统预定义广播及正常触发时机: action 触发时机 android.net.conn.CONNECTIVITY_CHANGE 网络连接发生变化 android.intent.action.SCREEN_ON 屏幕点亮 android.intent.action.SCREEN_OFF 屏幕熄灭 android.intent.action.BATTERY_LOW 电量低,会弹出电量低提示框 android.intent.action.BATTERY_OKAY 电量恢复了 android.intent.action.BOOT_COMPLETED 设备启动完毕 android.intent.action.DEVICE_STORAGE_LOW 存储空间过低 android.intent.action.DEVICE_STORAGE_OK 存储空间恢复 android.intent.action.PACKAGE_ADDED 安装了新的应用 android.net.wifi.STATE_CHANGE WiFi 连接状态发生变化 android.net.wifi.WIFI_STATE_CHANGED WiFi 状态变为启用/关闭/正在启动/正在关闭/未知 android.intent.action.BATTERY_CHANGED 电池电量发生变化 android.intent.action.INPUT_METHOD_CHANGED 系统输入法发生变化 android.intent.action.ACTION_POWER_CONNECTED 外部电源连接 android.intent.action.ACTION_POWER_DISCONNECTED 外部电源断开连接 android.intent.action.DREAMING_STARTED 系统开始休眠 android.intent.action.DREAMING_STOPPED 系统停止休眠 android.intent.action.WALLPAPER_CHANGED 壁纸发生变化 android.intent.action.HEADSET_PLUG 插入耳机 android.intent.action.MEDIA_UNMOUNTED 卸载外部介质 android.intent.action.MEDIA_MOUNTED 挂载外部介质 android.os.action.POWER_SAVE_MODE_CHANGED 省电模式开启 (以上广播均可使用 adb 触发) 强制停止应用 命令: adb shell am force-stop 命令示例: adb shell am force-stop com.qihoo360.mobilesafe 表示停止 360 安全卫士的一切进程与服务。 文件管理 复制设备里的文件到电脑 命令: adb pull [电脑上的目录] 其中 电脑上的目录 参数可以省略,默认复制到当前目录。 例: adb pull /sdcard/sr.mp4 ~/tmp/ 小技巧:设备上的文件路径可能需要 root 权限才能访问,如果你的设备已经 root 过,可以先使用 adb shell 和 su 命令在 adb shell 里获取 root 权限后,先 cp /path/on/device /sdcard/filename 将文件复制到 sdcard,然后 adb pull /sdcard/filename /path/on/pc。 复制电脑里的文件到设备 命令: adb push 例: adb push ~/sr.mp4 /sdcard/ 小技巧:设备上的文件路径普通权限可能无法直接写入,如果你的设备已经 root 过,可以先 adb push /path/on/pc /sdcard/filename,然后 adb shell 和 su 在 adb shell 里获取 root 权限后,cp /sdcard/filename /path/on/device。 模拟按键/输入 在 adb shell 里有个很实用的命令叫 input,通过它可以做一些有趣的事情。 input 命令的完整 help 信息如下: Usage: input [] [...] The sources are: mouse keyboard joystick touchnavigation touchpad trackball stylus dpad gesture touchscreen gamepad The commands and default sources are: text (Default: touchscreen) keyevent [--longpress] ... (Default: keyboard) tap (Default: touchscreen) swipe [duration(ms)] (Default: touchscreen) press (Default: trackball) roll (Default: trackball) 比如使用 adb shell input keyevent 命令,不同的 keycode 能实现不同的功能,完整的 keycode 列表详见 KeyEvent,摘引部分我觉得有意思的如下: keycode 含义 3 HOME 键 4 返回键 5 打开拨号应用 6 挂断电话 24 增加音量 25 降低音量 26 电源键 27 拍照(需要在相机应用里) 64 打开浏览器 82 菜单键 85 播放/暂停 86 停止播放 87 播放下一首 88 播放上一首 122 移动光标到行首或列表顶部 123 移动光标到行末或列表底部 126 恢复播放 127 暂停播放 164 静音 176 打开系统设置 187 切换应用 207 打开联系人 208 打开日历 209 打开音乐 210 打开计算器 220 降低屏幕亮度 221 提高屏幕亮度 223 系统休眠 224 点亮屏幕 231 打开语音助手 276 如果没有 wakelock 则让系统休眠 下面是 input 命令的一些用法举例。 电源键 命令: adb shell input keyevent 26 执行效果相当于按电源键。
ASP.NET中Webservice安全 实现访问权限控制
一、 概述: Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。它逻辑性的为 其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果。由于它通过internet进行调用,必然存在网络用户都可以调用的安全问题。如何实现webservice的访问 权限限制,是使用webservice用户使用面临重要的问题,下文就给两种方案,从浅到深解决上面问题。 二、基于“soapheader”
Dify1.3.1问题解决[代码]
文章详细记录了在升级到Dify1.3.1版本后遇到的一系列问题及其解决方案。首先,作者遇到了Python函数缺少pymysql库的问题,尝试在python-requirements.txt中添加库无效后,通过进入沙箱并手动安装pymysql解决了该问题。随后,又出现了SQL执行错误,提示网络不可达,通过修改docker-compose.yml中的ssrf_proxy_network配置,将internal设置为false,允许外部网络访问,最终解决了网络不通的问题。整个过程展示了作者在解决问题时的耐心和技巧,为遇到类似问题的用户提供了宝贵的参考。
DeviceStatus-0608
DeviceStatus_0608
汽车电子基于OTA的Bootloader更新机制:量产车软件升级断点版本限制与跨代更新规避策略
内容概要:本文深入剖析了量产汽车ECU中Bootloader在OTA升级过程中为何无法跨“断点版本”升级的核心原理。文章从Bootloader作为可信根的不可变性出发,解释了其在SOP后禁止常规OTA更新的原因,并揭示了Flash分区机制下OTA仅能擦写Application区的限制。通过介绍“两段式搬运”自更新机制,阐明了新版Bootloader需依赖旧版Bootloader执行迁移的“鸡生蛋”困境,进而引出断点版本的概念——即首次引入新Bootloader特性的关键过渡版本。文中详细列举了导致断点的典型变更(如签名算法、分区表等),并指出跨版本升级失败的根本原因在于旧Bootloader无法解析新镜像格式或执行更新流程。最后提出系统性解决方案,包括构建有向升级路径图、终端前置校验、A/B冗余、Golden恢复区等工程防护措施,强调需从架构、发布、OTA后台到售后体系全流程协同管理断点风险。; 适合人群:汽车电子工程师、车载软件开发人员、OTA系统设计师及从事ECU固件升级相关的技术管理人员,尤其适合具备嵌入式系统和UDS诊断基础的研发人员。; 使用场景及目标:①理解Bootloader在OTA中的核心作用及其不可随意更新的设计逻辑;②掌握断点版本的成因与应对策略,避免实际升级中出现“变砖”事故;③指导OTA系统设计与升级路径规划,提升整车软件迭代的安全性与可靠性。; 阅读建议:此资源结合真实工程场景深入浅出地讲解复杂机制,建议结合Bootloader自更新流程图与实际UDS刷写案例对照学习,重点关注版本兼容性判断、安全校验设计及故障恢复机制,在开发和测试中充分模拟跨断点升级场景以验证系统鲁棒性。
国央企在推动技术创新时,如何实现内部创新资源与外部服务的高效协同?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
半桥LLC谐振变换器开环+闭环仿真设计资料(Simulink仿真实现)
内容概要:本文围绕半桥LLC谐振变换器的开环与闭环控制系统开展Simulink仿真实现,系统涵盖了软开关特性分析、谐振参数设计、分裂电容影响、软启动策略及恒压恒流双闭环控制等关键技术。资料包提供完整的仿真模型、设计报告、计算书及参考文献,帮助用户深入理解LLC变换器在变频控制下的动态响应与稳定性。通过仿真可实现频率调节、电压增益特性分析与效率优化,适用于中高功率DC-DC转换系统的研发与教学实践。; 适合人群:具备电力电子基础知识,熟悉Simulink仿真环境,从事电源设计、新能源变换系统研发的工程师或研究生(工作或研究年限1-5年);; 使用场景及目标:①掌握LLC谐振变换器的工作原理与关键参数设计方法;②构建并调试开环与闭环仿真模型,分析软开关实现条件与系统稳定性;③应用于车载充电机、通信电源、光伏微逆等高效电源系统的研发与教学实践;; 阅读建议:建议结合提供的仿真文件与计算书同步操作,先理解谐振腔参数(Lr、Lm、Cr)对电压增益的影响,再逐步搭建闭环控制系统,重点关注PID参数整定与频率调制策略,同时参考配套PPT与文献深化理论认知。
图腾柱无桥PFC变换器+平均电流控制+PI电压双闭环前馈控制设计(Simulink仿真实现)
内容概要:本文详细介绍了图腾柱无桥PFC变换器的设计与Simulink仿真实现,重点采用平均电流控制策略及PI电压双闭环前馈控制方法,旨在提升功率因数校正的动态响应与稳态性能。文中系统阐述了主电路拓扑结构的工作原理,深入分析了平均电流控制的实现机制,并构建了包含电压外环与电流内环的双闭环控制系统,引入前馈控制以增强对输入电压扰动的抑制能力。通过精确的控制环路建模、小信号分析与PI控制器参数整定,实现了对输入电流的高精度跟踪,确保其与输入电压同相位,从而达到单位功率因数运行。仿真模型完整复现了从交流输入、桥臂开关、电感储能到直流输出的全过程,验证了该方案在宽负载范围内具有优良的输入电流正弦化特性、低总谐波畸变率(THD)以及对负载突变和输入电压波动的强鲁棒性,有效提升了AC-DC变换的效率与功率密度。; 适合人群:具备电力电子技术、自动控制理论及Simulink仿真基础,从事开关电源、新能源发电系统、电动汽车充电桩等高效率电能变换设备研发的工程师、高校研究生及相关科研人员。; 使用场景及目标:①深入理解图腾柱无桥PFC相对于传统PFC在效率和功率密度上的优势及其工作模态;②掌握平均电流控制策略在实现高功率因数中的核心作用与实现细节;③学习基于经典控制理论的双闭环PI控制器设计、参数整定方法及前馈补偿技术的应用;④通过亲手搭建并调试Simulink仿真模型,掌握从理论分析、系统建模到仿真验证的完整研发流程,提升解决实际工程问题的能力。; 阅读建议:建议读者结合文档内容,按照“拓扑原理→控制策略→数学建模→参数设计→仿真验证”的逻辑顺序循序渐进地学习,特别关注控制框图的构建与各环节传递函数的推导。务必动手实践Simulink模型的搭建,尝试调整PI参数和负载条件,观察系统动态响应的变化,以深刻理解控制理论与实际系统性能之间的内在联系。
科技中介服务机构如何利用智能工具提升技术评估与交易撮合效率?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
高校技术转移办公室人员如何实现科技成果的高效推介与转化?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
双Buck电路并联VDCM下垂控制(Simulink仿真实现)
内容概要:本文介绍了“双Buck电路并联VDCM下垂控制(Simulink仿真实现)”的技术文档,属于电力电子与微电网控制领域的仿真研究资料。该仿真模型基于Simulink平台,旨在通过电压差值补偿机制(VDCM)实现双Buck电路并联运行时的均流控制,确保多个并联变换器在负载变化或参数差异下仍能稳定均摊电流输出,提升系统可靠性与效率。文中详细阐述了下垂控制与电压外环协同工作的控制策略设计原理,通过引入VDCM机制增强系统的动态响应能力和负载分配均匀性,并利用Simulink仿真全面验证了系统在不同工况下的稳定性、均流性能及电压调节能力。该技术适用于中低压直流供电系统、分布式电源并网、储能系统等需要高可靠性和均流性能的应用场景。; 适合人群:具备电力电子、自动控制理论基础,熟悉Simulink/MATLAB仿真环境,从事新能源、微电网、电源系统研发的研究生、工程师及科研人员。; 使用场景及目标:①掌握并联Buck变换器的下垂控制原理与实现方法;②学习VDCM下垂控制在均流与电压调节中的协同机制;③应用于多变换器并联系统的仿真建模与性能优化。; 阅读建议:学习者应结合Simulink模型文件,深入理解控制框图与模块参数设置,建议动手复现仿真过程,调整负载与控制参数以观察系统响应,从而加深对并联均流控制动态特性与控制策略协同作用的理解。
期权五档行情数据包含合约代码、日期时间、买一至买五价格与挂单量、卖一至卖五价格与挂单量,以及最新价、成交量、持仓量等字段,记录了逐笔或快照级别的市场深度信息 分钟级别行情数据包含合约代码、分钟K线时间
期权五档行情数据包含合约代码、日期时间、买一至买五价格与挂单量、卖一至卖五价格与挂单量,以及最新价、成交量、持仓量等字段,记录了逐笔或快照级别的市场深度信息。分钟级别行情数据包含合约代码、分钟K线时间、开盘价、最高价、最低价、收盘价、成交量和成交额,部分还提供持仓量。两者结合,可还原盘中买卖力量变化与价格形成过程。 数据源:CMES金融数据库
fourwaycar-rack-edit-main 简单的四向车货架布局设计图
fourwaycar-rack-edit-main 简单的四向车货架布局设计图
CSDN首页
发布文章
CSDN同步助手
24小时AGC二次火电机组调频实例!用于模拟单区域电力系统在 24 小时运行周期内的二次调频(AGC)过程,分析负荷波动条件下系统频率控制性能、ACE 调
内容概要:本文围绕单区域电力系统在24小时运行周期内的自动发电控制(AGC)二次调频过程展开研究,重点模拟并分析了在负荷波动条件下系统的频率控制性能、区域控制偏差(ACE)调节效果以及各AGC火电机组的调频响应特性。通过构建典型单区域电力系统模型,深入阐述AGC二次调频的核心原理,包括频率偏差检测、ACE计算、控制策略执行及机组出力调整机制,并结合具体算例进行仿真验证。研究系统地展示了AGC系统如何通过实时监测与反馈控制,有效抑制频率波动,快速消除ACE,维持系统功率平衡,并详细分析了不同机组在调频过程中的出力分配、响应速度与爬坡能力等动态特性,为理解电力系统频率稳定控制提供了完整的理论与实践案例。; 适合人群:具备电力系统分析基础、自动控制理论知识以及一定Matlab/Simulink仿真能力的高校研究生、科研机构研究人员及电力系统运行与调度领域的工程技术人员。; 使用场景及目标:①深入理解电力系统二次调频(AGC)的工作原理与实现流程;②掌握单区域电力系统动态仿真的建模方法;③学习如何分析系统频率稳定性、ACE调节性能及发电机组动态响应;④为后续研究多区域互联、含新能源接入的复杂系统调频问题奠定基础; 阅读建议:建议读者结合文中提供的仿真模型与运行结果,逐步复现各分析环节,重点关注负荷扰动设置、AGC控制逻辑实现、关键性能指标(如频率偏差、ACE)的时域响应曲线,以及机组出力的协调过程,通过动手实践加深对理论知识的理解。
产业园区在推动科技成果转化过程中,如何高效对接企业与高校院所资源?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
【音视频无线传输】基于4K60无线HDMI的点对点接收模块:安里亚ATE9461规格与EDID透传应用
链路稳定性; 阅读建议:本文档为专业技术规格书,建议结合《ATE9460产品规格书》及配套设计资料(如硬件设计指南、2D/3D模型、I²C编程指南)共同使用,特别注意模块引脚定义、供电要求、PCB布局规范内容概要:本文档及区域法规限制详细介绍了安里,确保正确集成亚科技有限公司推出的ATE9461与合规应用。 HDMI无线视频传输接收模块的技术规格与应用信息。该模块采用80 pin金手指封装,尺寸为22×45 mm,支持4K60Hz高清视频输出,具备EDID全透传、HDCP处理、低延迟解码和无线链路加密等功能。模块通过5.15–5.85 GHz频段进行无线传输,配合发射端ATE9460实现点对点音视频传输,支持VHT40链路速率,并可在复杂电磁环境中自适应调整码率以保障画面连续性。系统支持OSD状态提示、模拟音频输出及I²C控制接口,适用于影视监看、会议投屏、工业巡检、医疗影像转播等多种场景。文档还提供了详细的电气参数、机械尺寸、引脚定义、配对操作流程以及环境可靠性指标,强调模块需与指定发射端配对使用且不可混插底板。; 适合人群:从事音视频设备研发、集成或OEM/ODM设计的电子工程师、硬件设计师及相关技术人员,具备基本电路设计与无线通信知识背景;; 使用场景及目标:①用于构建无线HDMI传输系统,替代传统长距离HDMI线缆布设;②应用于影视制作、远程医疗、工业检测等领域中对高分辨率、低延迟无线图传有需求的场合;③帮助开发者快速集成无线视频接收功能,实现即插即用的稳定传输解决方案; 阅读建议:此文档为专业技术规格书,建议结合《ATE9460产品规格书》及配套硬件设计指南共同查阅,重点关注供电设计、PCB布线规则、天线匹配与散热要求,确保正确集成与稳定运行。
最新推荐





