当前位置:首页 > 大杂烩 > 正文内容

C# net request payload形式发送post请求

高老师9年前 (2017-10-02)大杂烩7275

因为开发微信群发电脑版需要模拟微信POST请求,微信发送消息使用request payload发送,实际发送的是json字符串。我们只需要生成的json字符串和请求的一致,header头完全模拟即可。

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

无标题.png

下面是我的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字符串发送。

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/502.html

分享给朋友:

“C# net request payload形式发送post请求” 的相关文章

PHP安装mongodb扩展

PHP安装mongodb扩展

在安装之前我们先看看官方给出的依赖关系.首先是dll文件和mongodb软件的依赖关系然后是PHP文件和dll的依赖关系我的是phpstudy的集成环境PHP5.4.45 NTS+Apache+Mysql【一】.安装mongodb3.0软件对比依赖关系下载mongodb3.0.msi软件,完整名称:...

Application的错误使用

Application的错误使用

Application 对象用于存储和访问来自任意页面的变量,类似 Session 对象。不同之处在于所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对应的。很多的书籍中介绍的Application对象都喜欢以统计在线人数来介绍Application 对象...

Git推送文件到远程仓库

Git推送文件到远程仓库

1.远程仓库的协作模式开发者把自己最新的版本推到线上仓库,同时把线上仓库的最新代码,拉到自己本地即可2.注册git帐号国外: http://www.github.com国内: http://git.oschina.net2.在码云创建项目,不要初始化readmegit push https://gi...

Git日志查看和版本切换

Git日志查看和版本切换

日志查看:git log版本切换:方式1:git  reset  --hard  HEAD^   倒退一个版本git  reset  --hard  HEAD^^  倒退两个版本方式2:(版本号的形式,建议版本号码补充完...

c#中文简体转换繁体

c#中文简体转换繁体

private const string fantizi = "高久峰是個程序員"; private const string jiantizi = "高久峰是个程序员...

IE浏览器无法显示此页解决方案

IE浏览器无法显示此页解决方案

方案1.IE浏览器"无法显示此页"的解决办法(1).按下Win+R键打开运行,输入netsh winsock reset,回车;(2).重启即可. 方案2.IE浏览器"无法显示此页"的解决办法 (1).设置-连接-局域网设置-自动检测设置开...