精华内容
下载资源
问答
  • 使用node实现向手机发送验证码

    千次阅读 2019-08-04 23:19:20
    能够成功的获取到手机号 参照这个api文档,这些是需要的参数,将请求代码复制到我们的post请求方法中 将请求带吗复制到我们的index.js文件中post方法中,并修改部分参数 输入对应的数据值,点击...

    步骤一:安装node.js

    Node官方网站https://nodejs.org/en/ 下载node.js

    安装好之后输入 node -v 能够显示版本号表示安装成功了

     

    步骤二:注册并登陆聚合科技,申请短信API服务

    我们来到聚合科技的官网中https://www.juhe.cn/ ,注册登录进去

    登录之后,点击进入个人中心

    我们要使用的是短线验证码,所以需要申请--即时通讯—短信API服务

    设置短信模板

    等待审核通过之后才可以使用

    当免费使用次数用完后,可以购买短信API服务,也可以在里面查看API文档

     

    步骤三:搭建服务器环境

    切换到自己的sms-send文件夹中,输入指令npm init –yes 创建package.json文件

    接着我们需要安装一些对应模块 express body-parser request querystring

    输入指令同时安装这几个模块:

    npm install express body-parser request querystring –save

    文件夹中创建一个index.js文件

    之后我们需要官网:https://www.getpostman.com/下载一个专门用来测试接口的软件postman,下载安装。我另一篇博客中有相关下载教程

    https://blog.csdn.net/qq_40976321/article/details/97486701

    步骤四:安装全局的nodemon

    输入指令:npm install nodemon -g

    这个可以实时监听代码的改变,不用我们去重新启动项目

    安装好nodemon之后,配置index.js文件

    输入nodemon就能打印出信息

    在浏览器中输入localhost:5000就能够成功显示信息

     

    步骤五:使用post请求获取验证码

    使用测试接口的工具postman

    能够成功的获取到手机号

    参照这个api文档,这些是需要的参数,将请求代码复制到我们的post请求方法中

    将请求带吗复制到我们的index.js文件中post方法中,并修改部分参数

    输入对应的数据值,点击提交,就可以成功发送短信验证码

     

    步骤六:设置并获取随机验证码

    重新提交

    看完教程之后还是有困惑的,建议去看看相关的视频教程:

    https://ke.qq.com/course/384139?taid=3502438456089739 

    展开全文
  • 利用J2ME中提供的可选包JSR75提供的功能,浏览手机文件夹,并且将用户的照片上传到服务器,实现相册的功能。 完全实现了浏览手机的文件系统的功能。但是在浏览文件系统的时候,需要用户确认。我在使用Nokia6233的...

          利用J2ME中提供的可选包JSR75提供的功能,浏览手机的文件夹,并且将用户的照片上传到服务器,实现相册的功能。 

          完全实现了浏览手机的文件系统的功能。但是在浏览文件系统的时候,需要用户确认。我在使用Nokia6233的手机测试的时候,由于每次访问文件,都需要确认,所以很烦人。不知道大家有没有什么好的方法。如果方便告诉我的话,请用cuilichen@hotmail.com与我联系,多谢。

    import javax.microedition.lcdui.*;
    import java.util.Enumeration;
    import javax.microedition.io.file.FileSystemRegistry;
    import javax.microedition.io.file.FileConnection;
    import javax.microedition.io.Connector;
    import java.util.Vector;
    import java.io.*;
    import javax.microedition.io.HttpConnection;

    /**
     * <p>Title: </p>
     *
     * <p>Description: </p>
     *
     * <p>Copyright: Copyright (c) 2005</p>
     *
     * <p>Company: </p>
     *
     * @author cuilichen
     * @version 1.0
     */
    public class Brower implements Runnable, CommandListener {
        /**
         * 进入的历史记录
         * 其中的成员每三个为一组
         */
        Vector history;
        /**
         * 用来显示当前的文件夹下面的内容的List
         */
        List folder;
        /**
         * 当前的路径
         */
        String cPath;
        /**
         * 文件夹中各个对象的URL
         */
        String[] children;
        /**
         * 文件夹中的各个对象是否是子文件夹
         */
        byte[] isDir;
        /**
         * 在List中,表示该对象是文件夹还是文件的图标
         */
        Image[] logos;
        /**
         * 图片文件的数据
         */
        byte[] data;

        /**
         * 构造函数
         */
        public Brower() {
            history = new Vector();
        }

        /**
         * 初始化,显示根目录
         */
        public void init() {
            int roots = this.getRoots();
            if (roots > 0) { //得到根目录列表
                logos = new Image[2]; //准备图标
                logos[0] = Core.getImage("logoF");//文件的图标
                logos[1] = Core.getImage("logoD");//文件夹的图标
                if (prepare2show()) { //显示列表成功
                    showList();
                    return;
                }
            }
            Core.setDisplay(Core.core);
            Core.received.addElement("<show>调用手机的浏览器失败");
        }

        /**
         * 得到根目录列表数组
         * @return int
         */
        private int getRoots() {
            Enumeration rootEnum = FileSystemRegistry.listRoots();
            Vector v = new Vector();
            while (rootEnum.hasMoreElements()) {
                String root = (String) rootEnum.nextElement();
                v.addElement(root);
            }
            if (v.size() == 0) {
                return -1;
            } else {
                children = new String[v.size()];
                v.copyInto(children);
                cPath = "";
                return children.length;
            }
        }

        /**
         * 得到当前目录下的内容,查看各项内容是文件夹还是文件
         * @return boolean   是否成功
         */
        private boolean prepare2show() {
            isDir = new byte[children.length];
            FileConnection fc = null;
            try {
                for (int i = 0; i < children.length; i++) {
                    fc = (FileConnection) Connector.open("file:///" + cPath +
                        children[i]);
                    if (fc.isDirectory()) {
                        isDir[i] = 1;
                        for (int j = 0; j < i; j++) { //处理,保证先排文件夹,后排文件
                            if (isDir[j] == 0) {
                                String temp = children[i];
                                for (int k = i; k > j; k--) {
                                    children[k] = children[k - 1];
                                }
                                children[j] = temp;
                                isDir[i] = 0;
                                isDir[j] = 1;
                                break;
                            }
                        }
                    } else {
                        isDir[i] = 0;
                    }
                    fc.close();
                    fc = null;
                }
                history.addElement(children);
                history.addElement(isDir);
                history.addElement(cPath);
                return true;
            } catch (Exception ex) {
                ex.printStackTrace();
                return false;
            } finally {
                if (fc != null) {
                    try {
                        fc.close();
                    } catch (IOException ex1) {
                    }
                }
            }
        }

        /**
         * 显示文件夹里面的内容的列表
         */
        private void showList() {
            folder = new List(cPath, List.IMPLICIT);
            if (cPath.length() == 0) {
                folder.setTitle("我的手机");
            }
            if (children.length > 0) {
                for (int i = 0; i < children.length; i++) {
                    folder.append(children[i], logos[isDir[i]]);
                }
                folder.addCommand(new Command("确定", Command.OK, 1));
            } else {
                folder.append("文件夹是空的", null);
            }
            if (history.size() > 3) {
                folder.addCommand(new Command("返回", Command.BACK, 1));
            }
            folder.setCommandListener(this);
            Core.setDisplay(folder);
        }

        /**
         * 得到指定文件夹中的各个对象的URL
         * @return int          对象的数量
         */
        private int getChildren() {
            FileConnection fc = null;
            try {
                System.out.println("file:///" + cPath);
                fc = (FileConnection) Connector.open("file:///" + cPath);
                Vector v = new Vector();
                Enumeration child = fc.list();
                while (child.hasMoreElements()) {
                    String fileName = (String) child.nextElement();
                    v.addElement(fileName);
                }
                if (v.size() > 0) {
                    children = new String[v.size()];
                    v.copyInto(children);
                    return children.length;
                } else {
                    children = new String[0];
                    return 0;
                }
            } catch (Exception ex) {
                return -1;
            } finally {
                if (fc != null) {
                    try {
                        fc.close();
                    } catch (IOException ex1) {
                    }
                }
            }
        }

        /**
         * 显示“返回”之后的内容
         * @param father boolean   是否是返回上一层
         */
        private void getBack(boolean father) {
            if (father) {
                for (int i = 0; i < 3; i++) {
                    history.removeElementAt(history.size() - 1);
                }
            }
            children = (String[]) history.elementAt(history.size() - 3); //里面的对象的名称
            isDir = (byte[]) history.elementAt(history.size() - 2); //里面的对象是不是文件夹
            cPath = (String) history.elementAt(history.size() - 1); //文件夹的绝对路径
            showList();
        }

        /**
         * 得到文件的数据
         * @param fileName String
         * @return boolean        读取的操作是否成功
         */
        private boolean getData(String fileName) {
            FileConnection fc = null;
            InputStream is = null;
            try {
                fc = (FileConnection) Connector.open("file:///" + fileName);
                is = fc.openInputStream();
                data = new byte[is.available()];
                is.read(data);
                return true;
            } catch (Exception ex) {
                data = null;
                return false;
            } finally {
                if (fc != null) {
                    try {
                        fc.close();
                    } catch (IOException ex1) {
                    }
                }
                if (is != null) {
                    try {
                        is.close();
                    } catch (IOException ex2) {
                    }
                }
            }
        }

        /**
         * implements CommandListener
         * @param c Command
         * @param d Displayable
         */
        public void commandAction(Command c, Displayable d) {
            if (d == folder) {
                if ("返回".equals(c.getLabel())) { //返回
                    getBack(true);
                } else { //确定
                    int index = folder.getSelectedIndex();
                    if (index >= isDir.length) {
                        return;
                    }
                    if (isDir[index] == 0) {
                        String fileName = cPath + folder.getString(index);
                        if (fileName.endsWith(".jpg") || fileName.endsWith(".JPG") ||
                            fileName.endsWith(".png") || fileName.endsWith(".PNG")) {
                            if (getData(fileName)) {
                                new Thread(this).start();
                            } else {
                                System.out.println("读取文件失败");
                            }
                        }
                    } else {
                        cPath += folder.getString(index);
                        int flag = getChildren();
                        if (flag >= 0) { //得到下层内容成功
                            if (prepare2show()) {
                                showList();
                                return;
                            }
                        }
                        getBack(false); //得到下层的内容失败,那么显示原来的内容
                    }
                }
            }
        }

        /**
         * implement Runnable
         * 向服务器发送照片
         * 服务器是使用tomcat和servlet实现的
         */
        public void run() {
            String server = "http://218.200.0.1:8080/Photo/receiver";
            HttpConnection conn = null;
            OutputStream os = null;
            try {
                conn = (HttpConnection) Connector.open(server, 3, true);
                conn.setRequestProperty("Content-Length", "" + data.length);
                os = conn.openOutputStream();
                os.write(data);
                os.close();
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                try {
                    if (os != null) {
                        os.close();
                    }
                } catch (Exception ex) {}
                try {
                    if (conn != null) {
                        conn.close();
                    }
                } catch (Exception ex) {}
            }

        }
    }

    展开全文
  • 写个exe,在电脑上向手机发送一条短信用python写的界面这里需要用到Twilio,下面给出学习路径源程序将程序打包成exe示范一下: 用python写的界面 在输入栏处输入自己的手机号码和短信内容,点击发送即可往自己手机...

    用python写的界面

    在这里插入图片描述

    在输入栏处输入自己的手机号码和短信内容,点击发送即可往自己手机发送短信。

    这里需要用到Twilio,下面给出学习路径

    【转载】使用 twilio + python 给你的手机发短信
    没用过的伙伴自学一下。

    源程序

    (程序有要修改的地方:
    1、注册Twilio的account_sid、account_sid要填你们自己的;
    2、from要填你们注册Twilio得到的手机号码,记得要带上“+”号)

    from twilio.rest import Client
    import tkinter as tk
    
    account_sid = '此处填写自己注册得到的account_sid'
    auth_token = '此处填写自己注册得到的auth_token'
    client = Client(account_sid, auth_token)
    phone_number = ""
    message = ""
    
    class App:
        def __init__(self, window):
            window.title("短信速发工具")
            window.geometry('500x300')
            window.geometry("+1150+430")
            tk.Label(window, text="手机号码:", font="微软雅黑").pack()
            self.phoneEntry = tk.Entry(window, font="微软雅黑")
            self.phoneEntry.pack()
            tk.Label(window, text="信息:", font="微软雅黑").pack()
            self.messageText = tk.Text(window, height=5, font="微软雅黑")
            self.messageText.pack()
            tk.Button(window, text="发送", font="微软雅黑", command=self.click).pack()
            frame = tk.Frame(window)
            frame.pack()
            window.mainloop()
    
        def click(self):
            phone_number = self.phoneEntry.get()
            message = self.messageText.get("0.0", "end").strip()
            message = client.messages.create(
                body = message,
                from_='+此处填写你注册Twilio得到的手机号码',
                to='+86' + phone_number
            )
            print(message.sid)
    
    if __name__ == '__main__':
        window = tk.Tk()
        app = App(window)
    
    
    

    将程序打包成exe

    使用pyinstaller将程序打包成可执行的文件exe:
    1、在cmd中输入 pip install pyinstaller ,安装pyinstaller
    2、在cmd中输入 pyinstaller -F -w send_message.py ,将程序打包,这里-F表示打包成一个文件,如果不打-F会被打包成一个文件夹,但打包成一个文件夹运行速度会变快挺多,-w是运行时不弹出黑色的控制台窗口。

    可能会被杀毒软件误杀,自己找回一下就行了。
    最后得到一个可执行的exe文件
    在这里插入图片描述
    双击可以运行

    示范一下:

    填写手机号码,短信信息
    在这里插入图片描述
    点击发送按钮

    然后手机就会收到短信:
    在这里插入图片描述

    (我最近在使用Twilio偶尔会出现短信接收延迟或者收不到的情况。)
    (感谢“瓶子的碎片”给出的解释)

    有毒!现在twilio发送中文不行,发英文就没问题了

    展开全文
  • 即使不手动保存,在有网络的情况下,也会自动下载、保存到手机储存盘中的sd/tencent/QQfile_recv/路径的文件夹内。找到保存的位置后,亦可将文件、图片移动到别处。下面简单演示,怎么找到电脑传输到手机qq的文件在...

    通常从电脑传到手机QQ的文件,在我的设备—我的电脑窗口中即可查看和使用,你也可以打开文件后点击保存到手机。即使不手动保存,在有网络的情况下,也会自动下载、保存到手机储存盘中的sd/tencent/QQfile_recv/路径的文件夹内。找到保存的位置后,亦可将文件、图片移动到别处。下面简单演示,怎么找到电脑传输到手机qq的文件在哪个文件夹的步骤供参考。

    14b1c18694fa11638c388b0d71b61d59.png

    方法一

    如图所示:如果您之前从电脑传文件到手机QQ后,不小心清空了传送记录。需要再次查找文件时,可以在我的电脑窗口中,点击右上角的小人图标 。

    46db0c88bc7ec0980574de812297fb01.png

    进入我的电脑详细资料页面后,点击页面下方的查看已下载的文件即可。

    25362dff746972d8365a6af47801638b.png

    进入最近文件页面后,此时即可查看到最近一段时间传送的文件了。

    36d94b4f99ce8e1929f7fab814cd6745.png

    方法二

    同时您也可以在手机QQ主界面,向右滑动页面,点击我的文件进入。

    ea7dabda7072db8c2153191f61c3426d.png

    进入我的文件页面后,同样再次点击最近文件即可。

    3dd922f4f4062aa8c0a10e56c177a2fb.png

    进入最近文件页面后,亦可查看到最近传送的文档、图片、影音、应用等文件。

    4e5ca8a7500366747e0ca680a6c9d892.png

    方法三

    如果您想要找到,从电脑传到手机QQ的文件保存位置,或者移动文件位置,那么可以按照以下步骤进行查找。

    文件管理器想必每台手机上都自带有,我这里以ES为例。

    先打开手机文件管理器,然后打开SD卡或手机储存,找到一个名为 “ tencent ”的文件夹。

    5473150e4bb14a60807d59a4d8adb8de.png

    进入tencent后,再找到一个名为 “ QQfile_recv ”的文件夹继续打开。

    c115143f7ece28b8e278271b6b1d87c9.png

    进入“ QQfile_recv ”文件夹后,在此就可以看到所有从电脑传到手机QQ的文件了

    527ee517a4eb7f4585a4d4ce885995c6.png

    推荐阅读:

    展开全文
  • “唉,你用电脑微信传给我的那个我女神的视频我要在手机哪个文件夹找到,我想保存到我的云盘上珍藏着”“找不到吗,我也不知道在手机哪个路径,那我再用QQ传给你吧”“我的娘,QQ的也不知道在哪个文件夹,你等等,我...
  • Adb push 文件夹手机目录上

    万次阅读 2016-07-05 10:11:29
    步一: 首先使用USB连接电脑与小机,然后安装adb相应的驱动; 步二: 打开cmd ...假如你要将Windows下D盘根目录下的liu文件夹拷贝到机器(手机或者平板)的media目录下;可以使用命令如下: adb
  • 1. h5的audio标签手机浏览器支持吗? 2. 如何调用用户手机的录音访问权限? 3. js如何实现上传网页已录制的音频到项目指定文件夹
  • 当然解决方法有很多种比如手在手机上安装QQ,然后发送apk文件到QQ上再安装,再比如吧apk先存到网盘,再下载下来安装等等。但是这些方法都稍显麻烦,今天介绍的是通过ES浏览器的ftp文件共享方法。 1.下载安装ES文件...
  • 解压之后进入文件夹打开DEMO文件夹。里面为各种脚本语言实现发送短信的样本 找到python文本,直接打开可能会出现乱码,选择用记事本打开,然后全部copy到py文件中 二、修改py文件 修改的代码如下: # 接口类型:...
  • Push mail同步outlook文件夹设置

    千次阅读 2011-02-21 14:01:00
    缺省Push mail不把outlook自己创建的文件夹里面的邮件发送到黑莓手机上。   环境: BlackBerry 企业Push邮件,BES服务器,黑莓手机5.0/6.0 OS   设置方法: 进入email邮箱 ...
  • 突然想把安卓手机的文件发送到电脑 然后网上查了下 原来adb命令就可以把文件传到本地电脑 adb pull /+需要传的文件目录 D:/ 例如我上传的文件framework-res.apk 传到e盘的frameworkapk文件夹 adb pull /system...
  • PHP 手机短信发送验证码

    千次阅读 2017-12-27 15:06:01
    第三个参数:手机号码,是你要将短信发送给谁的手机号码; 第四个参数:短信内容。上面说过了这个平台的短信模板,是有权限的,我们不能修改,修改的话,就会失败,需要自定义模板,就要充钱成为VIP ...
  • java实现手机发送信息(实例) xzhou

    千次阅读 2010-08-19 11:30:00
    要实现手机发送信息功能首先要具备如下条件 1.有wsdl文件.这里有下载 http://d.download.csdn.net/down/2631194/zhouxiaoxiong828788<br />2.tomcat 与jdk是不可少的,版本一般分别在5.0与1.5以上...
  • 通过QQ发送到我的手机: 1、文件:打开注册表编辑器并找到 HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers,将QQShellExt删除; 2、文件夹:打开注册表编辑器并找到 HKEY_CLASSES_ROOT\...
  • 问题描述: A文件夹里都是xml文件,B文件是一个空文件夹,C文件夹里面都是jpg文件,现在要在A文件夹中挑选出含有B文件夹里jpg文件名字的xml文件保存到B中。(例如C中含有888.jpg文件,要在A中挑选出888.xml保存到...
  • 找到电脑发送手机的文件的具体操作是:1、电脑传输文件到手机那个文件夹是看怎么操作的,是可以选择的。2、如果直接用数据线或将内存卡拿下来放到读卡器里面在插到电脑,都可以直接将选中的文件拷贝到手机任意的...
  • 在iPhone上使用手机QQ 2013发送电脑上的文件
  • 1 Unity 打包后各种路径处理! 2 正确读取StreamingAssets文件夹里面的文件 3 调用手机里面邮箱像指定的邮箱地址发送邮件 4 调用手机里面浏览器打开Html文件
  • DIY 新浪微博Android客户端 ----用Android手机发送来自iPhone的微博 今天看到一个哥们发布的DIY新浪微博客户端,自己试了下,确实好用,赫赫,给大家分享下链接...用我自己的Android手机...首先,下载新浪微博客户端把里
  • ThinkPHP3.2.3整合发送手机短信验证码

    千次阅读 2017-10-17 10:29:25
    说明: 本例使用的是美联软通的短信发送平台,网址是:...1、在\ThinkPHP\Library\Org文件夹下,创建Msg.class.php文件,代码如下: /*-------------------------------- 功能: PHP HTTP接口 发送短信 修改
  • c#实现手机短信发送(1)

    千次阅读 2008-01-15 11:17:00
    C#利用Web Service实现短信发送(1)作者: 出处:中文C#技术站 ( 2 ) 砖 ( 4 ) 好 评论 ( 1 ) 条 进入论坛 更新时间:2006-07-26 11:43关 键 词:C# Web Service 短信阅读提示:通过编程方式实现短信息的...
  • 首先上网查询微信的手机文件夹名字tencent 视频文件一般存在 microMsg 找到该用户id,看到video字样,找到文件 输入名字拿到key
  • 2.下载文件,进入文件夹,找到一个video文件夹,在里面得到视频名称,根据以往经验,这个是验证码 3.验证通过得到key 另外可以利用everything 我们需要找的是视频,英语是video,一般为了方便,是以英文命名的文件夹...
  • C++ 获取系统文件夹路径

    千次阅读 2020-01-22 14:29:06
    比如获取桌面路径: // 需要 #include <Shlobj.h> char path[255]; SHGetSpecialFolderPath( NULL, // 保留 path, // 接受文件路径的字符串指针 ... FALSE // 如果文件夹不存在,...
  • 在用jxl导出ListView数据时,由于手机中没有安装Excel,每次查看表需要在电脑端查看,这里就有个系统Bug,点击保存生成的表格,在手机上文件管理中可以查看得到,电脑端不显示,但是移动一下文件位置,就可以显示了...
  • adb 发送文件到Android设备和从Android手机复制文件

    万次阅读 多人点赞 2019-01-03 11:27:54
    ANR 8.3.3 adb shell am force-stop 后跟包名,结束应用 8.3.4 adb shell am startservice 启动一个服务 8.3.5 adb shell am broadcast 发送一个广播 8.4 input 这个命令可以 Android 设备发送按键事件 ...
  • 1.如题: 2.科普类题目 文件中查找,路径:mnt/shell/emulated/0/immomo 找到uesrs文件夹,找到一个验证码:6D4C-8FE4-3072 验证通过得到key
  • GS CTC是chrome扩展程序,可让您单击电话号码,并将其直接发送到主流手机以发起呼叫。 它还具有许多其他功能。 特征 接听/结束来电/当前通话 保留当前通话 重新启动听筒 查看手机的当前状态 输入号码并将呼叫发送到...
  • 前提:手机和电脑在同一局域网下 1 电脑创建文件夹 2 右键-属性-共享 3 添加用户 everyone ,修改权限级别 读取/写入 4 点击右下角共享 5 点击完成即可 6 查询电脑IPv4地址(自行查询) 7 打开iPhone手机-文件-...
  • 本文参考: ...需要注意的事情就是,ESP-01模块需要和手机连接在同一个局域网内。 Arduino IDE需要下载支持ESP的开发板,我们的模块是ESP-01这里选用NodeMCU 0.9 下载开发板的方法可参考: 基于esp82...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,522
精华内容 14,208
关键字:

如何向手机发送文件夹