因为开发微信群发电脑版需要模拟微信POST请求,微信发送消息使用request payload发送,实际发送的是json字符串。我们只需要生成的json字符串和请求的一致,header头完全模拟即可。
下面是正常请求的谷歌请求信息:
下面是我的c#代码
public static bool SendTextMessage(string Content,string ToUserName) { SendMessageUrl +=passticket; File.WriteAllText(@"D:\URL.txt", SendMessageUrl); HttpHelper http = new HttpHelper(); Deviceid = DeviceID(); string LocalId = LocalID(); var data = new { BaseRequest = new { Uin = wxuin, Sid = wxsid, Skey = skey, DeviceID = Deviceid }, Msg = new { ClientMsgId = LocalId, Content = @Content, LocalID = LocalId, FromUserName = wxusername, ToUserName = ToUserName, Type = 1 } ,Scene =0}; string json = JsonConvert.SerializeObject(data); HttpItem item = new HttpItem() { URL = SendMessageUrl, Method = "post", Accept = "application/json, text/plain, */*", Postdata = json, Cookie = HttpCookie, ContentType = "application/json;charset=UTF-8" }; item.Header.Add("Accept-Encoding", " gzip"); HttpResult result = http.GetHtml(item); string html = result.Html; return true; }
我先创建一个与json格式结构一致的对象,然后序列化为json,php或者java道理一样。请求的header必须保持一致即可。
说白了就是将请求的信息通过.net实例为1个对象,再将对象转为json字符串发送。
c#中string和StringBuilder直接看看执行速度。(2).String类型累计赋值Test  ...
1.远程仓库的协作模式开发者把自己最新的版本推到线上仓库,同时把线上仓库的最新代码,拉到自己本地即可2.注册git帐号国外: http://www.github.com国内: http://git.oschina.net2.在码云创建项目,不要初始化readmegit push https://gi...
日志查看:git log版本切换:方式1:git reset --hard HEAD^ 倒退一个版本git reset --hard HEAD^^ 倒退两个版本方式2:(版本号的形式,建议版本号码补充完...
1.关机Process.Start("shutdown", "-s -t 0"); 2. 注销 Proc...
方案1.IE浏览器"无法显示此页"的解决办法(1).按下Win+R键打开运行,输入netsh winsock reset,回车;(2).重启即可. 方案2.IE浏览器"无法显示此页"的解决办法 (1).设置-连接-局域网设置-自动检测设置开...
1.文件redis-2.6.14.tar.gz的上传 /home/john/创建rdtar文件夹 上传redis-2.6.14.tar.gz至rdtar文件夹 2.解压文件 cd /home/john/rdtar tar &n...