发送短信(string转换为JSON)
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo1113
{
public sealed class Program
{
public static void Main()
{
SmsMessage smsMessage = new SmsMessage();
smsMessage.OpenId = "123";
smsMessage.TempleaseId = "abc";
smsMessage.MessageInfo = new List<MessageInfo> { new MessageInfo{
Key="1",Value="q"
},new MessageInfo{Key="2",Value="w"}};
//Newtonsoft.Json
string json = JsonConvert.SerializeObject(smsMessage);
SmsMessageDictionary smsMessageDictionary = new Program.SmsMessageDictionary();
smsMessageDictionary.OpenId = "123";
smsMessageDictionary.TempleaseId = "abc";
Dictionary<string, string> list = new Dictionary<string, string>();
list.Add("d", "1");
list.Add("d1", "13");
list.Add("d2", "14");
smsMessageDictionary.MessageInfo = list;
Console.WriteLine("Json=" + json);
Console.WriteLine("Json2=" + JsonConvert.SerializeObject(smsMessageDictionary));
Console.ReadKey();
string sJson = JsonConvert.SerializeObject(smsMessage); //传入参数有误时,可能会出现"远程服务器返回错误: (500) 内部服务器错误。"的错误
System.Text.UTF8Encoding encodeing = new UTF8Encoding();
byte[] contentBytes = encodeing.GetBytes(sJson);
try
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri("http://。。。。。。。。。"));
//增加下面两个属性即可 (防止出现“基础连接已经关闭: 接收时发生错误。”的错误)
webRequest.KeepAlive = false;
webRequest.ProtocolVersion = HttpVersion.Version10;
//webRequest.Proxy = new WebProxy("url", 80);
//webRequest.UserAgent = "Mozilla-Firefox-Spider(Wenanry)";
webRequest.Method = "POST";
//webRequest.ContentType = "application/json";
webRequest.ContentType = "application/json";
webRequest.Accept = "application/json";
webRequest.ContentLength = sJson.Length; //这边是JSON的长度
using (Stream newStream = webRequest.GetRequestStream())
{
newStream.Write(contentBytes, 0, contentBytes.Length); //这边读取的是字节
}
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
//HttpWebResponse res;
//try
//{
// res = (HttpWebResponse)webRequest.GetResponse();
//}
//catch (WebException ex)
//{
// res = (HttpWebResponse)ex.Response;
//}
using (var response = (HttpWebResponse)webRequest.GetResponse())
{
var stream = response.GetResponseStream();
using (var sr = new StreamReader(stream, Encoding.Default))
{
str = sr.ReadToEnd();
}
stream.Dispose();
}
// JObject jo = JObject.Parse(str);
// string err = jo["errCode"].ToString();
JObject jopdd = JObject.Parse(str);
string err = jopdd["errorCode"].ToString();
string errMsg = jopdd["errorMessage"].ToString();
}
catch (Exception e)
{
string aa = "aaa";
}
}
public class SmsMessageDictionary
{
public string OpenId { get; set; }
public string TempleaseId { get; set; }
public Dictionary<string, string> MessageInfo { get; set; }
}
public class SmsMessage
{
public string OpenId { get; set; }
public string TempleaseId { get; set; }
public List<MessageInfo> MessageInfo { get; set; }
}
public class MessageInfo
{
public string Key { get; set; }
public string Value { get; set; }
}
}
}
发送短信(string转换为JSON)的更多相关文章
- java + maven 实现发送短信验证码功能
如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...
- java发送短信验证码
业务: 手机端点击发送验证码,请求发送到java服务器端,由java调用第三方平台(我们使用的是榛子云短信http://smsow.zhenzikj.com)的短信接口,生成验证码并发送. SDK下载 ...
- android发送短信验证码并自动获取验证码填充文本框
android注册发送短信验证码并自动获取短信,截取数字验证码填充文本框. 一.接入短信平台 首先需要选择短信平台接入,这里使用的是榛子云短信平台(http://smsow.zhenzikj.com) ...
- java攻城师之路(Android篇)--搭建开发环境、拨打电话、发送短信、布局例子
一.搭建开发环境 1.所需资源 JDK6以上 Eclipse3.6以上 SDK17, 2.3.3 ADT17 2.安装注意事项 不要使用中文路径 如果模拟器默认路径包含中文, 可以设置android_ ...
- Android 打开URL中的网页和拨打电话、发送短信功能
拨打电话需要的权限 <uses-permission android:name="android.permission.CALL_PHONE"/> 为了省事界面都写一起 ...
- 移动MAS短信平台发送短信
MAS短信平台发送短信分为两种方式 参考文档下载 一.sdk调用 using mas.ecloud.sdkclient; using System; namespace 短信发送 { class Pr ...
- android: 接收和发送短信
8.2 接收和发送短信 收发短信应该是每个手机最基本的功能之一了,即使是许多年前的老手机也都会具备这 项功能,而 Android 作为出色的智能手机操作系统,自然也少不了在这方面的支持.每个 A ...
- 阿里大鱼.net core 发送短信
阿里大鱼还未提供 .net core 版SDK,但提供了相关API,下面是.net core版实现,只是简单发送短信功能: using System; using System.Collections ...
- 短信接口调用以及ajax发送短信接口实现以及前端样式
我们短信api用的是云信使平台提供的非免费短信服务:官网提供的demo有两种,分别是function加其调用.class文件加其调用. 在这里我们用class文件加调用: 首先,ThinkPHP里面自 ...
- 如何使用微信小程序云函数发送短信验证码
其实微信小程序前端和云端都是可以调用短信平台接口发送短信的,使用云端云函数的好处是无需配置域名,也没有个数限制. 本文使用的是榛子云短信平台(http://smsow.zhenzikj.com) ,S ...
随机推荐
- [转]Jenkins Xcode打包ipa
本地打包. 如果Mac 上没有安装brew.先安装:ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/ins ...
- ant sshexec 无法启动tomcat
1.如果./startup.sh启动不了,可以试试./catalina.sh run 2.这个两个都是调用的catalina里边的方法,只不过一个重定向了日志,一个没有 eval \"$_R ...
- 4、android BroadcastReceiver详细用法
BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播. 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这 ...
- PHP日志扩展 SeasLog-1.6.8, 性能更优
SeasLog-1.6.8 发布了,性能更优. 改进日志: 1.6.8: 优化内存使用和性能,修复已知Bug. - Fixed issue #97 PHP5.* Cached Block. - Fix ...
- python3 reqeuests给OSC全站用户刷积分
严格来讲是给在OSC上贡献过内容的OSC用户刷积分. OSC很多操作都需要消耗积分,很多人给OSC贡献了内容, 但是却没有人点赞,所以有些人在OSC混了很多年也没有积分. 本文中使用到的工具有gifc ...
- CSS总结 最后的选择符和字体、元素常见样式
在伪类选择符中,还有很多,其中比较有意思的是E:target 当我们想做出点击超链接后链接变色且其他链接变回原来的颜色时,就可以用到这个选择符 <a href="#a1" i ...
- HDU 5358 尺取法+枚举
题意:给一个数列,按如下公式求和. 分析:场上做的时候,傻傻以为是线段树,也没想出题者为啥出log2,就是S(i,j) 的二进制表示的位数.只能说我做题依旧太死板,让求和就按规矩求和,多考虑一下就能发 ...
- PCL安装使用
一. 下载安装 http://pointclouds.org/downloads/windows.html 1. QT安装在默认路径下(否则后续会出现问题),添加环境变量QTDIR(c:\Qt\4.8 ...
- [转]深入理解学习GIT工作流
深入理解学习Git工作流 字数13437 阅读2761 评论3 喜欢70 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...
- sscanf,sscanf_s及其相关用法
#include<stdio.h> 定义函数 int sscanf (const char *str,const char * format,........); 函数说明 sscanf ...