2019-1-29-dotnet-使用-Qpush-快速从电脑到手机推送文字
title | author | date | CreateTime | categories |
---|---|---|---|---|
dotnet 使用 Qpush 快速从电脑到手机推送文字 |
lindexi |
2019-01-29 16:22:56 +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;
}
}
}
相关文章
- Android在未root手机获取应用内置的SQLite数据库到电脑上处理的方法(数据库备份与恢复-支持SDK30+)
- win10重置此电脑卡在99%的解决方法(6种)
- win10电脑右键新建没有记事本的解决方法
- Win10电脑Task Host Window阻止关机的解决方法
- uni-app - 实现全屏自适应且不变形背景大图,设置一张图片占满全屏(根据手机或电脑尺寸自动拉伸背景图像),用于页面是一张平铺的大图做背景的情况,全端兼容
- Vue.js / Nuxt.js / uni-app - 移动端 H5 网页,在电脑 PC 上打开时居中显示(手机网页在电脑上打开后,简单粗暴防止 “界面样式“ 拉伸变形的解决方案)适用所有web项目
- 借助Clarifai的深度学习 电脑也能看懂视频了
- 农村女孩高中才接触电脑,却成为程序媛的心路历程
- Ubuntu 备份系统为ISO镜像 & 解决ISO限制4GB大小 & Clone当前系统到其他电脑
- 会编程就得会修电脑么?请不要再误解IT男了,好吗?
- 电脑上做的ppt拿到别的电脑或手机上播放的时候字体错位的解决方法
- 安卓手机连接电脑
- Scrcpy投屏真机到电脑 并集成DevEco真机调试 Mac系统下
- Unity 之 Mac在其他电脑安装不成功,弹出“XXX”安装不上时 和 没有权限打开应用程序
- 【历史上的今天】2 月 23 日:英格玛密码机申请专利;戴尔电脑创始人出生;Mellanox 收购 EZchip
- 暗云木马变种肆虐:电脑被远程控制 信息一览无余
- 推荐一款手机、电脑必备的效率工具,功能强大,支持所有平台
- 电脑无线WIFI怎么共享给手机