因为开发微信群发电脑版需要模拟微信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字符串发送。
【一】.钩子文件的设置和创建(1).打开hooks目录,可以看到有一个post-commit.tmpl文件,这是一个模板文件。复制一份,重命名为post-commit,将其用户组设为www,并设置为可执行。chown www:www post-commitchmod +x post-commit(2...
1.远程仓库的协作模式开发者把自己最新的版本推到线上仓库,同时把线上仓库的最新代码,拉到自己本地即可2.注册git帐号国外: http://www.github.com国内: http://git.oschina.net2.在码云创建项目,不要初始化readmegit push https://gi...
1.关机Process.Start("shutdown", "-s -t 0"); 2. 注销 Proc...
public static string GetMD5(string str) { //创建MD5对象 MD5 md5 = MD5.C...
首先网页全部是纯静态的文件,本地测试正常访问,服务器端无法加载CSS,并且无法查看CSS文件的内容。 解决方案:关闭网站的压缩->>静态压缩和动态压缩...
vsftp常用操作命令:1.启动vsftp: service vsftpd start 2.重启vsftp: service vsftpd restart3.修改用户密码:passwd lao8org4.创建用户:useradd -d /data/wwwroot/blog -s /sbin...