title author date CreateTime categories
dotnet 使用 Qpush 快速从电脑到手机推送文字
lindexi
2019-11-29 08:58:57 +0800
2019-01-14 09:14:49 +0800
csharp WPF dotnetcore UWP 源代码

在手机打字总不是方便,于是就有了 Qpush 这个工具,通过这个工具可以快速从电脑到手机推送文字。
但是这个工具没有找到客户端,于是我就给他写了一个库,通过这个库可以快速进行开发

先介绍QPush 快推这个从电脑到手机最方便的文字推送工具,可以在网页进行输入,在手机自动复制到剪贴板,相当于在手机使用电脑的输入法

在使用之前需要手机安装客户端

IOS : https://itunes.apple.com/cn/app/qpush-kuai-tui-cong-dian-nao/id776837597

安卓: 各个应用商店下载

然后打开网页网页推送输入推名和推码然后输入内容就可以发送到手机

但是这个工具有一个缺点就是没有 Windows 客户端,于是我就先做了一个轮子

通过抓包知道了浏览器是如何发送,然后创建了一个 nuget 库,只需要通过下面的使用方法就可以使用这个工具

创建一个空白项目,通过 Nuget 安装 lindexi.src.Qpush 注意项目需要使用 dotnet framework 4.5 以上和 dotnet core 2.1 以上

安装之后就可以通过下面代码从电脑输入内容

using lindexi.src;

            var qpush = new Qpush("lindexi", 221675.ToString());

            try
{
await qpush.PushMessageAsync("欢迎访问我博客 http://lindexi.gitee.io 里面有大量 UWP WPF 博客");
}
catch (HttpRequestException e)
{
// 请自己处理网络异常
}

现在调用这个代码,尝试在前台放一个按钮,在按钮点击的时候调用上面代码

注意 请将上面的推名和推码修改为你自己的推名和推码

此时就可以看到手机收到信息

这个工具做起来难度很低,但是我做出了一个 dll 库,虽然这个库里面就只有一个类

于是根据这个库做出了一个 UWP 的应用,可以在应用商店搜 Qpush 下载,或者点击下载

如果想要看 UWP 的源代码,请到 github 如果发现代码有哪里不清真,欢迎联系

如果觉得直接引用这个库会输出一个 dll 希望放在自己的程序里面,不需要手动去复制下面的源代码,只需要修改 Nuget 包为 lindexi.src.Qpush.Source 就可以。

这里的 lindexi.src.Qpush.Source 是一个源代码包,使用 SourceYard 做的源代码,安装这个库和复制下面的源代码到自己的项目里面差不多。但是要安装 lindexi.src.Qpush.Source 需要使用 VS2017 新项目格式才可以

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks; namespace lindexi.src
{
/// <summary>
/// QPush 快推 从电脑到手机最方便的文字推送工具
/// </summary>
public class Qpush
{
public Qpush(string name, string code)
{
if (name == null) throw new ArgumentNullException(nameof(name));
if (code == null) throw new ArgumentNullException(nameof(code)); if (string.IsNullOrEmpty(name))
{
throw new ArgumentNullException("name 不能为空");
} if (string.IsNullOrEmpty(code))
{
throw new ArgumentNullException("code 不能为空");
} Name = name;
Code = code;
} /// <summary>
/// 推名
/// </summary>
public string Name { get; } /// <summary>
/// 推码
/// </summary>
public string Code { get; } /// <summary>
/// 推送信息
/// </summary>
public async Task<string> PushMessageAsync(string str)
{
const string url = "https://qpush.me/pusher/push_site/"; var httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.UserAgent.ParseAdd(
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"); HttpContent content =
new StringContent(
$"name={Uri.EscapeUriString(Name)}&code={Uri.EscapeUriString(Code)}&sig=&cache=false&msg%5Btext%5D={Uri.EscapeUriString(str)}",
Encoding.UTF8, "application/x-www-form-urlencoded");
var code = await (await httpClient.PostAsync(url, content)).Content.ReadAsStringAsync(); return code;
}
}
}

2019-11-29-dotnet-使用-Qpush-快速从电脑到手机推送文字的更多相关文章

  1. dotnet 使用 Qpush 快速从电脑到手机推送文字

    在手机打字总不是方便,于是就有了 Qpush 这个工具,通过这个工具可以快速从电脑到手机推送文字. 但是这个工具没有找到客户端,于是我就给他写了一个库,通过这个库可以快速进行开发 先介绍QPush 快 ...

  2. 2019.11.29 SAP SMTP郵件服務器配置 發送端 QQ郵箱

    今天群裏的小夥伴問了如何配置郵件的問題,隨自己在sap裏面配置了一個 1.    RZ10配置參數 a)       参数配置前,先导入激活版本 执行完毕后返回 b)      输入参数文件DEFAU ...

  3. 2019.11.29 Mysql的数据操作

    为名为name的表增加数据(插入所有字段) insert into name values(1,‘张三’,‘男’,20); 为名为name的表增加数据(插入部分字段) insert into name ...

  4. pycharm+anaconda在Mac上的配置方法 2019.11.29

    内心os: 听人说,写blog是加分项,那他就不是浪费时间的事儿了呗 毕竟自己菜还是留下来东西来自己欣赏吧 Mac小电脑上进行python数据开发环境的配置 首先下载Anaconda,一个超好用的数据 ...

  5. Supervision meeting notes 2019/11/29

    topic 分支:  1. subgraph/subsequence mining Wang Jin, routine behavior/ motif. Philippe Fournier Viger ...

  6. EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)

    传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...

  7. 黑盒测试实践--Day5 11.29

    黑盒测试实践--Day5 11.29 今天完成任务情况: 分析系统需求,完成场景用例设计 小组负责测试的同学学习安装自动测试工具--QTP,并在线学习操作 小黄 今天的任务是完成场景测试用例的设计.在 ...

  8. Alpha冲刺(6/10)——2019.4.29

    所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(6/10)--2019.4.29 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...

  9. [New!!!]欢迎大佬光临本蒟蒻的博客(2019.11.27更新)

    更新于2019.12.22 本蒟蒻在博客园安家啦!!! 本蒟蒻的博客园主页 为更好管理博客,本蒟蒻从今天开始,正式转入博客园. 因为一些原因,我的CSDN博客将彻底不会使用!!!(带来不便,敬请谅解) ...

  10. 2019.11.9 csp-s 考前模拟

    2019.11.9 csp-s 考前模拟 是自闭少女lz /lb(泪奔 T1 我可能(呸,一定是唯一一个把这个题写炸了的人 题外话: 我可能是一个面向数据编程选手 作为一个唯一一个写炸T1的人,成功通 ...

随机推荐

  1. 第八周课程总结 & 实验报告(六)

    第八周课程总结 一.包装类 介绍 装箱与拆箱 应用 二.异常 基本概念 基本格式 异常类的继承结构 throws关键字 throw关键字 Exception类和RuntimeException类 自定 ...

  2. hdjs---laravel 框架使用hdjs 实现多图上传功能

    hdjs---laravel 框架使用hdjs 实现多图上传功能 一.总结 一句话总结: [在网上找hdjs的使用实例]和[能遇见讲hdjs的视频],也是完全搞懂hdjs的不错的方式 1.hdjs中的 ...

  3. leetcode 297二叉树的序列化与反序列化

    to_string(x) 将数字x转化为string atoi(x) 将char转化为int stoi(x) 将string 转化为int 采用中序遍历的顺序存储,NULL用#表示,以,分隔,O(n) ...

  4. android 面试汇总<一>

    1.1 Android Activity Q:说下Activity的生命周期? 技术点:Activity生命周期 思路:分条解释Activity从创建到销毁整个生命周期中涉及到的方法及作用 参考回答: ...

  5. 【翻译】WPF应用程序模块化开发快速入门(使用Prism+MEF)

    编译并运行快速入门 需要在VisualStudio 2010上运行此快速入门示例 代码下载:ModularityWithMef.zip 先重新生成解决方案 再按F5运行此示例 说明: 在此快速入门示例 ...

  6. Go语言入门 不错

    Go入门 Go介绍 部落图鉴之Go:爹好还这么努力? 环境配置 安装 下载源码编译安装 下载相应平台的安装包安装 下载地址:https://golang.org/dl/ Linux上的apt-get, ...

  7. 【HANA系列】SAP 【第一篇】EXCEL连接SAP HANA的方法(ODBC)

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP [第一篇]EXCEL连接 ...

  8. 使用 Python* 的英特尔® 分发版实现 Unity* 机器学习入门(第 1 部分)

    本文将向游戏开发人员介绍如何使用强化学习创建更好的人工智能 (AI) 行为.使用Python* 的英特尔® 分发版 — 常用面向对象的高级编程语言的进阶版 — 读者可收集关于如何训练预先存在的机器语言 ...

  9. squid的三种模式

    一.squid代理服务器概述: 概述:Squid Cache(简称为Squid)是http代理服务器软件.Squid用途广泛,可以作为缓存服务器也可以作为缓存代理服务器,代理用户向web服务器请求数据 ...

  10. 点云ICP注册

    原文链接 背景 两个点云要注册在一块,一般分两个步骤:先做一个大致的对齐,也就是所谓的初始注册,一般可以通过一些可靠的点对来计算得到(如图3所示):然后在初始注册的基础上进行精细注册,提升注册的精度( ...