谁说程序员不懂浪漫?看完这个,大神也膜拜!

程序员浪漫之表白程序 自己可以简单的修改源码,换成你自己心爱人的名字,效果很炫。 立即下载

有小伙伴说想利用python实现给对象免费发短信。

这是一个好方法,今天的教程就是教大家怎么发送免费短信给女朋友。

发送短信接口,一般常见的有两个平台,一个是 twilio,可以免费发短信 500 条,可发任意信息,一个是腾讯云,可以免费发短信 100 条,需要申请短信发送内容模板。

twilio注册

要发送短信,我们需要现在 twilio 官网注册一个账号。

https://www.twilio.com/

点击 Sign Up 注册一个账号。在这里插入图片描述

填写邮箱和密码等资料,提交后会有一个判断是否为机器人的验证,点击左右箭头使图案显示为正图就可以了。

再到刚才填写的邮箱中去验证下,需要填入手机号验证。在这里插入图片描述

刚开始用了移动号发了两次都没有收到验证码,不知道什么原因,之后换了电信后就收到了验证码。

验证成功后会提示选择是否通过代码调用。

在这里插入图片描述

选择 yes 后再选择对应的语言,我们当然是选择 Python 了。
在这里插入图片描述

获取试用号

选择使用用途后,可以就可以获取一个试用的号码了,点击 Get a Trial Number 按钮。

在这里插入图片描述
我们可以看到系统给我提供的这个号码。
在这里插入图片描述
点击确定后就会出现成功的页面,显示 Twilio 提供的号码,这个号码就是用来发送短信的。在这里插入图片描述
获取号码成功后自动跳回到主页,下方有 Python 调用短信接口的示例。在这里插入图片描述
进入接口调用说明后,我们看到右边直接由 Python 调用接口发短信的示例。在这里插入图片描述
我们直接拿来用即可,把代码中accountsid 和 authtoken替换成自己的,这个两个值在刚才显示号码那个页面。
在这里插入图片描述
再把 message 中的 body 换成你自己的文本,把发送信息的号码换成刚官方提供的号码。

接收号验证

接收号码在使用前,需要在 Twilio 上验证下,点击右侧的 verified numbers 进入,添加号码。在这里插入图片描述
因为这是免费版,所以只支持一个号码,如果之前有验证号码的话,我们需要点击右侧的 X 把这个号码号码删除才能添加新的号码。在这里插入图片描述
点击验证号码的按钮后,在弹出的页面选择左下方的 text you instead,也就是用短信验证码来验证新添加的号码,你要发给女朋友,当然,这个接收的号码都填女朋友的了。在这里插入图片描述
填入号码后,点击验证,等待验证码。在这里插入图片描述
分别试了移动号、联通号、电信号,发现电信号和联通卡能正常收到验证码通过验证,移动号发了几次都收不到验证码,卡里是有余额的,可能是移动卡不支持这个接口,大家可以试试。

代码调试

运行代码前,不要忘了把 twilio 库用 pip 命令安装下。

pip install twilio

然后把代码中的几个值替换成自己的。在这里插入图片描述
把刚才验证成功的号添加到代码中,运行代码,成功后就会收到发送的短信。
在这里插入图片描述
这样就是最后完成的效果了!

基于QT与STM32的电力参数采集系统(华为云IOT)(211) 本项目构建一款集多功能于一体的电力参数采集系统,该系统以高性能、低功耗的STM32F103RCT6微控制器为核心,集成多种传感器与通信模块,实现对电力设施如电压、电流、功率、电能及环境温度等关键参数的实时精确采集,并通过GPS模块获取设备地理位置信息,满足了电力设备状态全面监控的需求。 阅读详情

相关推荐

告别代码恐惧!用KRobot图形化编程,10分钟搞定Arduino巡线小车(附完整接线图)

本文介绍如何使用KRobot图形化编程工具快速搭建Arduino巡线小车,无需编写代码。从硬件准备到逻辑构建,详细讲解传感器数据处理、电机控制优化及高级功能扩展,帮助教育工作者和创客爱好者10分钟内完成项目。

weixin_30632089的博客 396

程序员也可以很浪漫!

找个程序员就嫁了吧程序员,格子衫,不浪漫,直男,人傻钱多,甚至某沦落到女生有种“在花花世界玩够了最后想要嫁给我们程序员的地步...”。我想说,女孩们找个程...

zandaoguang的博客 4203

强化学习-马尔可夫模型

前文提到了强化学习源自马尔可夫决策过程,本文从马尔可夫概念入手,讲解和马尔可夫有关的模型和概念。在马尔科夫决策过程中,我们有一个智能体,它在一个马尔科夫过程中进行决策,每次决策都会导致状态的转移和获得即时奖励。智能体的目标是通过选择动作来最大化未来奖励的期望值。通常马尔科夫决策过程是个五元组:SAPRγSAPRγS 表示状态集合,代表智能体可能处于的所有状态。A 表示动作集合,代表智能体可以采取的所有动作。

君子之学必日新,日新者日进也。不日新者必日退,未有不进而不退者 8062

程序员也懂浪漫,JQuery实现表白。

静态图:     程序员用HTML5制作的爱心树表白动画- 柯乐义                                                             .STYLE1 {color: #666666}         -->      

gaochenglong1的博客 5346

ubuntu 20.04系统离线安装nfs

ubuntu环境下,离线安装nfs

m0_62464865的博客 2245

TCN(Temporal Convolutional Networks)时序卷积网络详解及代码

TCN(Temporal Convolutional Networks)时序卷积网络详解及代码

zhulewen的博客 7884

程序员也有爱情(程序员适合表白的一个句子)

2018年10月18日20:39:33 在我们学校表白墙发了一个找对象的帖子碰碰运气,结果没收获也是意料之中。 没想到大家评论这么多,那以后会多写一些这方面的东西,作为工作之余的娱乐。 其实脱不脱单不重要,一个人也很好,现阶段主要是让自己变得更优秀吧, 最后一次发表白墙,希望大家能关注我博客和知乎,以后会多些一些这种东西, 如果你是专业开发者,也可以互相学习。   有人说我没有初始化...

东方 1万+

2025.1.16——五、LoveSQL1 sqlmap文件类|万能密码

题目来源:BUUCTF[极客大挑战2019]LoveSQL1。

2402_87387800的博客 1071

谁说程序员不懂浪漫?

作者 | 阿广 找个程序员就嫁了吧   程序员,格子衫、不浪漫、直男、人傻钱多,甚至某沦落到女生有种“在花花世界玩够了最后想要嫁给我们程序员的地步......”。 我想说,女孩们找个程序员就嫁了吧,为什么这么讲?首先程序员非常认真,认真到一个逗号写错就会出Bug,对感情亦也; 其次程序员钱多是人尽皆知的事情,人傻不傻我不下定论,我个人观点程序员是大智若愚(终于说出了我的心声~)。 ...

hello world! 648

07群晖Docker部署nousresearch/hermes-agent

群晖Docker部署nousresearch/hermes-agent。

分享技术,传播知识! 1396

反无人机技术实战解析:从探测到拦截的全方位防御策略

本文深入解析了反无人机(C-UAS)技术的全链条防御策略。从雷达、无线电频谱、光电等多维度探测技术,到数据融合与威胁评估,再到无线电干扰、导航诱骗及物理拦截等核心拦截手段,系统阐述了如何构建从探测到拦截的实战化防御体系,为关键设施、大型活动等场景提供定制化空域安全解决方案。

weixin_29230649的博客 404

谁说技术男不浪漫!90 后程序员 2 天做出猫咪情绪识别软件

整理 | 王晓曼 出品 | 优快云(ID:优快云news) 9月1日,一则关于#程序员2天做出猫咪情绪识别软件#的话题登上微博热搜,参与阅读的人数达到了8218.1万,讨论次数1.3万,引发网友们的热议。 高手在民间!程序员自研猫咪情绪识别软件 深圳一名90后的程序员表示,自己是一个资深猫奴,去年毕业后进入一家互联网公司,上班时偶尔会牵挂家里的猫咪。为了解自家猫咪的实时动态和想法,平时搜集大量猫咪日常动态动作视频和声音样本,利用周末做出了一个猫咪情绪识别软件。 图源:财经网 在视频中,该程序员介绍到,

程序人生的博客 5058

手把手教你学Simulink--单相逆变器模糊逻辑控制策略仿真

本文介绍了在Simulink中设计单相逆变器模糊逻辑控制策略的完整流程。主要包括:1)构建单相逆变器模型;2)使用FuzzyLogicToolbox设计模糊控制器,定义输入输出变量和模糊规则;3)将控制器集成到Simulink模型;4)添加干扰源和示波器;5)配置仿真参数并分析结果。该方法利用模糊控制处理非线性系统的优势,可实现输出电压的精确跟踪,具有良好的鲁棒性。文中提供了详细的步骤说明和示例代码,强调准确设计隶属函数和规则库对控制性能的关键作用。该仿真设计为电力电子控制系统的开发提供了有效支持。

MHD0815的博客 203

谁说技术男不浪漫!90后程序员2天做出猫咪情绪识别软件

????????关注后回复“进群”,拉你进程序员交流群????????整理丨王晓曼出品丨优快云(ID:优快云news)9月1日,一则关于#程序员2天做出猫咪情绪识别软件#的话题登上...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 143

深度学习工具包 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")

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

谁说技术男不浪漫!90后程序员2天做出情绪...

点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 点击领取全栈资料:全栈资料 9月1日,一则关于#程序员2天做出猫咪情绪识别软件#的话题登上微博热搜,参与阅读的人数达到了82...

全栈开发者社区 191

WINCC7.3破解文件

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

谁说技术男不适合养猫!90后程序员2天做出猫咪情绪识别软件

整理 | 王晓曼出品 |优快云(ID:优快云news)9月1日,一则关于#程序员2天做出猫咪情绪识别软件#的话题登上微博热搜,参与阅读的人数达到了8218.1万,讨论次数1.3万,引...

AI科技大本营 498

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

图解:普通程序员 vs 优秀程序员

首先说一件事,十一期间这边约了几个朋友,联合起来给大家送些书。有空的朋友可以点击参与进来,同时记得分享下,再次感谢!其实程序员啊和建筑师、财务师、按摩师没什么差别本质上都...

程序员入门进阶 668

OSChina 周三乱弹 —— 给程序员的一副对联

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34357928的博客 326

疯狂的程序员49

鲁迅先生说:鲁镇的酒店的格局是和别处不同的。绝影说:泉州的出租车师傅是和别处不同的。因为他们实在太热情了。一路上,师傅都在用方言不断地跟绝影什么,大部分他都听不懂,但是也不能打击师傅的热情,于是只能在师傅停顿地空隙“嗯,嗯。”地哼两声。临下车的时候,师傅突然才好奇地问:“对啦,小兄弟,你是做什么的呀?”“写程序的。”“哎呀,牛B。写什么程序啊?”“牛B什么啊?做医疗软件的,马马虎虎。”“哎呀,那就

phphot 1953

15分钟的字节跳动视频面试,膜拜大牛

1、通过 996 高强度加班,逼迫员工主动辞职,企业想通过这个方法节省裁员所需要的补偿费。不知道从什么时候起,互联网公司在年底或者年初都开始通过全员加班方式来逼迫员工辞职,据我了解,狗东、某米、某赞等公司部分事业部都有这样的现象,这些市值几十上百亿美金的公司还用如此下三滥的方式逼迫员工辞职,别说基本的社会责任没有尽到,就是连对员工基本的尊重都没有做到,再次表示强烈谴责类似公司的做法。2、翻倍薪资挖人后,通过 996 形式来剥削员工的时间,达到平衡成本又更容易挖人的目的。

2303_77877769的博客 857

《疯狂的程序员》经典语录(1)

人在很多时候都是这样,很多东西都舍不得放弃,但是你一旦痛下决心放弃了,也许会立刻得到一个更好的东西。资本家在各方面都是尽可能降低成本,这种思想放到产品上,就是偷工减料,放到人事上,就是能用大学生的绝不用研究生,能一个人做的绝不让两个人做。而一些国企又恰恰相反,大学生就能解决的一定要让研究生来解决,这叫“对工作重视”;一个人就能做的一定要让三四个人甚至一个小组一起上,这叫“人多力量大”。绝影都觉得这

wwddgod的专栏 732

说来你可能不信,程序员的“祖师爷”是一位美貌才华并存的伯爵夫人!

说来你可能不信,程序员的“祖师爷”是一位美貌才华并存的伯爵夫人!

2501_93198918的博客 612

膜拜大牛!灵魂一问-如何彻底防止APK反编译?搞懂这些直接来阿里入职

前言 这次去腾讯面试的是我大学同学,我们大学都是一学习,一起吃饭,一起洗脚,一起。。。 他们公司最近也裁员了,不过他是裁员前去的腾讯,不知道谁捞到他简历了,莫名就走了流程,他莫名的就面了6轮过了。 他想着行情这么不好,要不就去了,去了之后,他们公司就裁员了。。。 总之今年大环境真的很差,大家都时刻做好准备。 一.那么这些年,996 风靡互联网,到底是什么原因?总结了几条: 1、通过 996 高强度加班,逼迫员工主动辞职,企业想通过这个方法节省裁员所需要的补偿费。 不知道从什么时候起,互联网公司在年底或者年初

m0_57065039的博客 170

我写的不只是小说更是程序人生

<br /><br />    这篇文章本来应该在上周就完成的,因为那时我刚好完成小说的上卷部分,10章,一个相对完美的数字。可没想这第十章一下子蹦出九千多字来,废话说了一大堆,结果是整个星期天都被耗在电脑前,一直折腾到晚上接近凌晨十二点才算是可以结束。再后来,自然就是新的一周开始,每天的大把时间都是忙于各种烦杂的工作,也就没有精力去完成这事了。<br />    我为什么突然想起写这个题目,主要因为有几个必须想要告诉大伙。一者,必须让大伙知道我写的虽然是小说,虚构乱想,杜撰离奇,不过终究还是源于我过去的生

刀光剑影 1040
上一篇: python爬虫入门,10分钟就够了,这可能是我见过最简单的基础教学
下一篇: 这也太强了吧!原来这样的飞机游戏才是python基础的精华,网友直呼:好项目
克金森沐沐
博客等级 码龄6年 694粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值