因為開發微信群發電腦版需要模擬微信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字符串發送。
