dotnet 使用 Qpush 快速从电脑到手机推送文字
在手机打字总不是方便,于是就有了 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;
}
}
}
我搭建了自己的博客 https://lindexi.gitee.io/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新
如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
dotnet 使用 Qpush 快速从电脑到手机推送文字的更多相关文章
- 2019-11-29-dotnet-使用-Qpush-快速从电脑到手机推送文字
title author date CreateTime categories dotnet 使用 Qpush 快速从电脑到手机推送文字 lindexi 2019-11-29 08:58:57 +08 ...
- 2019-1-29-dotnet-使用-Qpush-快速从电脑到手机推送文字
title author date CreateTime categories dotnet 使用 Qpush 快速从电脑到手机推送文字 lindexi 2019-01-29 16:22:56 +08 ...
- Python人脸识别 + 手机推送,老板来了你就会收到短信提示
- FCM实现手机推送,推送的方式,真机调试
FCM实现手机 1 下载Androidstudio 3.2 版本,之后新建一个项目 2 创建完项目之后查找文件AndroidMainifest.xml 3 访问网站注册一个自己的firebase的 ...
- 使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】C#语言
在VisualStudio2010中新建网站JPushAndroid.添加引用json帮助类库Newtonsoft.Json.dll. 在web.config增加appkey和mastersecret ...
- 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...
- 个推,手机推送api的使用
个推的作用:可以为手机端的app使用者推送消息,而不是通过手机上的app对用户发送消息.所以用户是被动的接收信息.当然不只是只有对用户弹出窗口的这种方式,也可以把信息推送给app,让app决定对用户实 ...
- android手机推送视频到服务端
项目需求,android手机向服务器推送视频.苦战几个星期终于实现,现记录下来以免以后忘记. 没做过Java,也没做过Android开发,只能现学现卖.在网上找了下搭建开发a ndroid环境资料, ...
- uniapp云打包之后华为手机推送角标不显示(有推送没角标)
小米手机上有角标,华为和OPPO没有角标 解决方法: 华为手机添加权限(可通过反编译或者离线打包添加) < uses - permission android:name="com.hu ...
随机推荐
- elastic search book [ ElasticSearch book es book]
谁在使用ELK 维基百科, github都使用 ELK (ElasticSearch es book) ElasticSearch入门 Elasticsearch入门,这一篇就够了==>http ...
- Linux下C 更改字符在终端的显示颜色
使用\033[01;04;32;41m之类的配色方案在需要输出显示的文本之前,可以改变应用程序输出文本的颜色或者背景颜色. 比如: #include <stdio.h> int main( ...
- Flask第一篇
一. Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不 ...
- [Linux]jenkins的安装 标签: linux服务器 2016-08-21 20:47 1060人阅读 评论(23)
现阶段遇到一个问题,因为某台服务器需要腾出来,所以需要将这台服务器上jenkins的主节点重新安装到另外一台服务器上.,下面就介绍一下centos7上面jenkins的安装. 一,步骤 注意:新安装的 ...
- CNN对位移、尺度和旋转不变性的讨论
CNN得益于全局共享权值和pool操作,具有平移不变性. 对于尺度不变性,是没有或者说具有一定的不变性(尺度变化不大),实验中小目标的检测是难点,需要采用FPN或者其他的方式单独处理. 对于旋转不变性 ...
- 字体图标font-awesome
其实有一些常见的图标使用字体图标比使用img来得好 Font Awesome 官网:http://fortawesome.github.io/Font-Awesome/ 字体代码:http://for ...
- 进入BIOS中,设置U盘启动
进入BIOS中,一般有system,boot,main,advanced,security等几个选项,main是主设置界面,譬如BIOS时间等等.boot是启动项的设置,我们今天就是要用到它. 找到b ...
- Vue.js 第3章 axios&Vue过渡动画
promise 它将我们从回调地狱中解脱出来 创建和使用 var fs = require('fs') // 创建promise // reslove表示执行成功后调用的回调函数 // reject表 ...
- MapReduce数据流-Reduce
- 08查找满足条件的n个数
第一节.寻找和为定值的两个数 题目:输入一个数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字.要求时间复杂度是O(n).如果有多对数字的和等于输入的数字,输出任意一对即可. 例如输 ...