专栏首页飞扬的花生在服务端发起一个Post请求

在服务端发起一个Post请求

1.http://www.tuling123.com/openapi/api?key=9d2ff29d44b54e55acadbf5643569584&info=?

上面这个请求在服务端发起

   /// <summary>
    /// 构造url的参数ajax的data值
    /// </summary>
    /// <param name="dic"></param>
    /// <returns></returns>
    public static string GetUrlStr(Dictionary<string, string> dic) {
        StringBuilder sb = new StringBuilder();
        foreach (var item in dic) {
            sb.AppendFormat("{0}={1}&", item.Key, item.Value);
        }
        string urlStr = sb.Remove(sb.Length - 1, 1).ToString();
        return urlStr;
    }

    /// <summary>
    /// 发送post请求
    /// </summary>
    /// <param name="postData"></param>
    /// <param name="postUrl"></param>
    /// <returns></returns>
    public static string SendHttpPostRequest(string postData,string postUrl) {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
        byte[] data = Encoding.GetEncoding("gbk").GetBytes(postData);
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = data.Length;
        using (Stream stream = request.GetRequestStream()) {
            stream.Write(data, 0, data.Length);
        }
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        string responseString = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")).ReadToEnd();
        return responseString;
    }

2.将参数进行编码后调用

    protected void Page_Load(object sender, EventArgs e) {
        Dictionary<string, string> test = new Dictionary<string, string>();
        test.Add("info", System.Web.HttpUtility.UrlEncode("笑话"));
        string paream = Utility.GetUrlStr(test);       
        string result = Utility.SendHttpPostRequest(paream, "http://www.tuling123.com/openapi/api?key=9d2ff29d44b54e55acadbf5643569584");
        Response.Write(result);
    }

3.结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • .net服务器端发起请求封装

    用户1055830
  • C#实现Excel模板导出和从Excel导入数据

          午休时间写了一个Demo关于Excel导入导出的简单练习 1.窗体 ? 2.引用office命名空间 添加引用-程序集-扩展-Microsoft.O...

    用户1055830
  • Npoi导入导出Excel操作

        之前公司的一个物流商系统需要实现对订单的批量导入和导出,翻阅了一些资料,最后考虑使用NPOI实现这个需求。 在winform上面实现excel操作:ht...

    用户1055830
  • typescript

    TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。

    一粒小麦
  • ASP.NET WebAPI 测试文档 (Swagger)

    SwaggerUI是一个简单的Restful API测试和文档工具。简单、漂亮、易用(官方demo)。通过读取JSON配置显示API .项目本身仅仅也只依赖一些...

    HueiFeng
  • 深入剖析 linux GCC 4.4 的 STL String

    gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)

    程序员小王
  • c#中关于string的特性介绍以及注意事项

    string类型在我们实际项目开发中是一个最使用的类型,string是一个引用类型这一点大家都知道,但是在实际使用过程中,大家会发现string和我们常见的引...

    小小许
  • react-native组建wechat

    IT故事会
  • Hive 创建和生成Rcfile 和SequenceFile格式的表

    rcfile格式表需要从原始的textfile 文件格式表导出数据并导入到新建好的rcfile格式表里

    sanmutongzi

扫码关注云+社区

领取腾讯云代金券