nginx响应状态码

Openresty资料之http服务 OpenResty完美地结合了Nginx的事件驱动机制和Lua的协程机制,所有的函数都是同步非阻塞的,处理请求时不需要像其他语言那样编写难以理解的异步回调函数,自然而且高效。 ◆ 配置: 以下八个指令可以用在配置文件的http{}里调整OpenResty处理HTTP 请求时的行为。 1、lua_use_default_type on | off 在发送响应数据时是否在响应头宇段“ Content-... 阅读详情

ngx.status = ngx.HTTP_CONTINUE (100) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_SWITCHING_PROTOCOLS (101) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_OK (200)
ngx.status = ngx.HTTP_CREATED (201)
ngx.status = ngx.HTTP_ACCEPTED (202) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_NO_CONTENT (204) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_PARTIAL_CONTENT (206) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_SPECIAL_RESPONSE (300)
ngx.status = ngx.HTTP_MOVED_PERMANENTLY (301)
ngx.status = ngx.HTTP_MOVED_TEMPORARILY (302)
ngx.status = ngx.HTTP_SEE_OTHER (303)
ngx.status = ngx.HTTP_NOT_MODIFIED (304)
ngx.status = ngx.HTTP_TEMPORARY_REDIRECT (307) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_BAD_REQUEST (400)
ngx.status = ngx.HTTP_UNAUTHORIZED (401)
ngx.status = ngx.HTTP_PAYMENT_REQUIRED (402) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_FORBIDDEN (403)
ngx.status = ngx.HTTP_NOT_FOUND (404)
ngx.status = ngx.HTTP_NOT_ALLOWED (405)
ngx.status = ngx.HTTP_NOT_ACCEPTABLE (406) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_REQUEST_TIMEOUT (408) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_CONFLICT (409) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_GONE (410)
ngx.status = ngx.HTTP_UPGRADE_REQUIRED (426) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_TOO_MANY_REQUESTS (429) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_CLOSE (444) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_ILLEGAL (451) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_INTERNAL_SERVER_ERROR (500)
ngx.status = ngx.HTTP_METHOD_NOT_IMPLEMENTED (501)
ngx.status = ngx.HTTP_BAD_GATEWAY (502) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_SERVICE_UNAVAILABLE (503)
ngx.status = ngx.HTTP_GATEWAY_TIMEOUT (504) (first added in the v0.3.1rc38 release)
ngx.status = ngx.HTTP_VERSION_NOT_SUPPORTED (505) (first added in the v0.9.20 release)
ngx.status = ngx.HTTP_INSUFFICIENT_STORAGE (507) (first added in the v0.9.20 release)

 转载:https://www.cnblogs.com/kgdxpr/p/6859836.html

Openresty 中 ngx.exit(403)的时候,给403页面的body中传递一个参数展示出来 <body></body> 阅读详情

相关推荐

云原生系列 - Nginx_深入剖析NginxStatus

NginxStatus是一个实用的状态模块,可以用来监控服务器的状态、统计网站流量和请求情况、自动热备和检测Nginx服务状态。开启NginxStatus只需要简单的配置,即可实现以上功能。

知行 4454

Nginx 响应状态

ngx.status = ngx.HTTP_CONTINUE (100) (first added in the v0.9.20 release)ngx.status = ngx.HTTP_SWITCHING_PROTOCOLS (101) (first added in the v0.9.20 release)ngx.status = ngx.HTTP_OK (200)ngx.status = ...

weixin_34235105的博客 471

awk 统计 Nginx 日志的 5 种姿势(IP/状态码/响应时间)

本文介绍了5个使用awk快速分析Nginx日志的实用场景。基于标准combined日志格式,通过单行命令实现:统计TOP 10访问IP(场景1)、状态码分布及占比(场景2)、响应时间分析(场景3)、状态码分组统计(场景4)和时段过滤(场景5)。针对日志格式中的引号问题,提供了两种解决方案:使用-F'"'分割或正则匹配。这些方法无需复杂工具即可快速获取关键指标,适合日常运维和性能分析。

记录学习的过程 325

启用nginx status状态详解

nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助。为了后续的zabbix监控,我们需要先了解nginx状态页是怎么回事。 1. 启用nginx status配置 在默认主机里面加上location或者你希望能访问到的主机里面。 1 2 3 4 5 6 7 8 9 10 11 server { listen *:80 ...

YHJ 8938

解决Web端请求响应超时HTTP状态码504和110 timed out错误(Nginx配置调整)

在前端开发中,发送请求时,有时会遇到请求响应超时的问题(如HTTP状态码504和110错误)。这种问题可能是由于网络延迟、服务器响应时间过长或请求数据量过大等原因造成的。为了解决这个问题,我们可以通过配置 Nginx 来调整相关参数,以提高请求处理和响应时间。通过以上的配置,我们可以提高 Nginx 对于大型请求头和请求主体的处理能力,并增加代理的超时时间,从而解决Web端请求响应超时的问题。请根据具体需求调整参数的数值。

Da_zhenzai的博客 3091

RM机器人麦轮底盘实战:从零搭建到PID调参全记录(附避坑指南)

本文详细记录了RM机器人麦轮底盘从零搭建到PID调参的全过程,涵盖硬件组装、开发环境搭建、底盘解算和PID调参等关键步骤,并附有实用的避坑指南。特别针对麦轮控制、底盘解算和电机调试等核心问题提供了专业解决方案,帮助开发者快速提升机器人性能。

bush的博客 372

Nginx `return` 指令详解:精准控制客户端响应状态码

return指令是 Nginx 配置工具箱中的一把瑞士军刀。通过返回恰当的 HTTP 状态码,我们可以清晰地向客户端和搜索引擎传达请求的结果。熟练掌握2xx3xx4xx和5xx系列状态码的含义及其在 Nginx 中的应用,对于构建健壮、高效且易于维护的 Web 服务架构至关重要,尤其是在复杂的反向代理和负载均衡环境中,它更是诊断和解决问题的关键线索。

2501_91107759的博客 1084

ROS阿克曼小车避坑指南:TEB Local Planner参数调优实战(附完整配置文件)

本文针对ROS阿克曼底盘机器人,提供了TEB Local Planner参数调优的实战指南。文章深入剖析了阿克曼模型与TEB的协同工作原理,重点讲解了`min_turning_radius`、`cmd_angle_instead_rotvel`等关键参数的设置与调试方法,并分享了性能优化、避障行为调整的实用技巧,旨在帮助开发者避开常见陷阱,实现小车在复杂环境中的稳定、高效导航。

ik6789012的博客 500

linux nginx 状态码,nginx统计响应的http状态码信息(ngx-http-status-code-counter)

1. 介绍ngx-http-status-code-counter是一个用来记录nginx响应状态码的统计信息,作者将这个模块与munin结合来分析网站的http状态,我们也可以将这个与nagios、zabbix或者其他监控系统想结合,有这个模块运维可以不再使用脚本去分析日志了。2. 安装nginx的安装方式不再多说,请参考运维生存时间早期的《nginx安装》,我这边使用nginx-1.4.2做的...

weixin_35834271的博客 648

5分钟搞懂MSDNet:用Transformer实现小样本语义分割的保姆级教程

本文详细介绍了MSDNet(Multi-Scale Decoder Network)如何利用Transformer架构实现小样本语义分割。通过多尺度解码器和空间Transformer解码器,MSDNet能够在仅有1-5张标注图像的情况下完成精确分割任务。文章提供了PyTorch代码实例和优化技巧,帮助开发者快速掌握这一前沿技术。

weixin_30832143的博客 506

python k线顶分型_【缠论】分型、笔的定义及其程序化

K线包含关系处理和分型的定义如果一个K线的高低点全在另一K线的范围里,称之为包含关系。针对这种K线,需要进行一些处理,去除包含关系,处理方法:向上时,把两K线的高点当高点,而两K线低点中的较高者当成低点;反之,当向下时,把两K线的低点当低点,而两K线高点中的较低者当成高点,这样就把两K线合并成一新的K线。经过这样的处理,所有K线图都可以处理成没有包含关系的图形。两K线的包含关系,可以分成四种:1)...

weixin_39717152的博客 2824

nginx统计响应的http状态码信息(ngx-http-status-code-counter)

为什么80%的码农都做不了架构师?>>> ...

weixin_34041003的博客 1493

STM32F407最小系统硬件设计与CubeMX工程实践

嵌入式最小系统是MCU功能实现的物理基础,其核心涵盖供电网络、时钟架构、复位机制与调试接口四大模块。基于Cortex-M4内核的STM32F407对电源纹波、晶振稳定性及信号完整性提出严苛要求:模拟电源VDDA需<10mV纹波,HSE晶振布线须满足短距直连与匹配电容精准配置,SWD调试接口依赖50Ω阻抗控制与端接防护。这些硬件约束直接映射至STM32CubeMX配置——如RCC时钟树参数必须与实物晶振频率严格一致,GPIO模式需匹配外设电气特性(如I2C必选开漏),否则将引发通信失败或启动异常。典型应用场景

weixin_35592186的博客 173

http 状态码

http 状态码合集

qq_57093716的博客 1351

【异常】Claude Code 在 Windows CMD 中出现重影现象的排查与解决

Windows CMD运行Claude Code时出现文字重影、乱码等问题,原因是传统CMD对现代ANSI终端控制序列支持不足。解决方案包括:1)推荐安装Windows Terminal(完全支持ANSI标准);2)使用PowerShell 7;3)优化CMD设置(启用虚拟终端、UTF-8编码);4)关闭Claude Code视觉特效。建议优先使用Windows Terminal以获得最佳体验,这是最彻底的解决方案。其他方案仅能部分改善或缓解问题。

奶爸的编程之路,也就一周冷个三天 1961

基于Python的网贷平台数据爬虫实战:Scrapy+Selenium+反反爬策略

python复制下载# items.py本文详细介绍了如何使用Python构建一个完整的网贷平台数据爬虫系统,涵盖了从基础爬取到高级反反爬策略的全套解决方案。我们使用了Scrapy框架作为基础,结合Selenium处理动态内容,实现了多种反反爬策略,并探讨了分布式爬虫的实现方式。机器学习识别验证码基于深度学习的网页结构变化检测自动化行为模拟的更精细控制基于Kubernetes的弹性爬虫集群。

2201_76125261的博客 1560

【Nginx】基于http响应状态码做权限控制的auth_request模块

安装auth_request模块(默认并未编译进Nginx,通过--with-http-auth-request-module启用) cd nginx-1.8.0 ./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-pa

姜太小白的博客 2470

Cartographer实现双雷达建图

TRAJECTORY_BUILDER_2D.num_accumulated_range_data = 2 --执行一次前端匹配需要的激光扫描分段数量。关于num_subdivisions_per_laser_scan。num_laser_scans =2,--订阅激光扫描话题数量。Frame改为 前雷达laser_1 后雷达laser_2。雷达的话题由scan改为,前scan_1 后scan_2。有些人说需要改成2,但我这里改成2反而不行,1才可以。

Studying…… 1261

nginx记录访问者ip,时间格式为2022-01-01 23:00:00.000、请求url、请求参数、响应参数、状态码等信息...

可以在 Nginx 的配置文件中添加如下配置来记录访问者的 IP、时间、请求 URL、请求参数、响应参数、状态码等信息: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' ...

weixin_35756130的博客 334

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

代码里返回401状态码,前端没捕获到statusCode

nginx配置cros跨域以及遇到401、500响应的问题 server { listen 80; server_name DataAnalysis; location / { if ($request_method = 'OPTIONS'){ add_header 'Access-Control-Allow-...

oschina_41731918的博客 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Nginx状态码详细

今天看到一篇很好的文章,收藏了一下,但是老容易忘了看,所以还是转载一下。下面附上原文链接:https://mp.weixin.qq.com/s/q_98FUiKuUjyOWrPhWOZhw 原文 最近了解下Nginx的Code状态码,在此简单总结下。 先来再回顾一下一个http请求处理流程: 一个普通的http请求处理流程,如上图所示: A -&gt; client端发起请求给ngin...

后端菜鸡 1616

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

在使用 Xxl-job 时,如果你通过 NGINX 作为反向代理服务器,遇到了登录不成功的问题,并且收到了 302 响应状态码

在使用 Xxl-job 时,如果你通过 NGINX 作为反向代理服务器,遇到了登录不成功的问题,并且收到了 302 响应状态码,这通常意味着你的请求被重定向了。确保你的 Xxl-job 应用服务器(如 Tomcat 或 Spring Boot 应用)配置正确,没有错误地重定向登录请求。检查应用的 web.xml 或 Spring Boot 的配置文件,看是否有不正确的重定向设置。查看 NGINX 的错误日志和 Xxl-job 应用的日志,这些日志可以提供更多关于为什么请求被重定向的线索。

handonch的博客 1149

Nginx笔记总结十八:nginx统计响应的http状态码信息(ngx-http-status-code-counter)

编译:./configure --prefix=/usr/local/nginx --add-module=../ngx_http_status_code_counter-master make && make install 配置: location /ttlsa_http_code_status/ { show_status_code_count on; } loc...

weixin_30343157的博客 316

nginx http 499,其实没有很可怕

499是由于nginx响应完成前客户端就断开了连接导致的,排查原因一般从客户端网络状态,超时时间以及服务端的响应时间来排查。常见的业务场景下,少量的499其实不需要过多的关注。proxy_ignore_client_abort可以忽略499,但不是解决方法,不建议大家开启。没有证据能证明快速post导致nginx499,这个应该是谣传。

m0_74825360的博客 1832

nginx return配置说明

  该指令一般用于对请求的客户端直接返回响应状态码。在该作用域内return后面的所有nginx配置都是无效的。 可以使用在server、location以及if配置中。 除了支持跟状态码,还可以跟字符串或者url链接。 直接返回状态码: 示例1: server{ listen 80; server_name www.aming.com; return 40...

weixin_30466421的博客 1085
上一篇: mysql数据库查看自增长字段下一个值
下一篇: python指定格式的时间字符串的比较
拓宽视野
博客等级 码龄9年 66粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值