C# net request payload形式發送post請求

由於開發微信羣發電腦版須要模擬微信POST請求,微信發送消息使用request payload發送,實際發送的是json字符串。咱們只須要生成的json字符串和請求的一致,header頭徹底模擬便可。php

下面是正常請求的谷歌請求信息:html

無標題.png

下面是個人c#代碼java

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必須保持一致便可。json

說白了就是將請求的信息經過.net實例爲1個對象,再將對象轉爲json字符串發送。c#

相關文章
相關標籤/搜索