zoukankan      html  css  js  c++  java
  • c# POST和GET方式通过server地址提交数据

    1:POST方式提交:

    <strong><span style="font-size:14px;">private static string HttpPostConnectToServer(string serverUrl, string postData)
            {
                var dataArray = Encoding.UTF8.GetBytes(postData);
                //创建请求
                var request = (HttpWebRequest)HttpWebRequest.Create(serverUrl);
                request.Method = "POST";
                request.ContentLength = dataArray.Length;
                //设置上传服务的数据格式
                request.ContentType = "application/x-www-form-urlencoded";
                //请求的身份验证信息为默认
                request.Credentials = CredentialCache.DefaultCredentials;
                //请求超时时间
                request.Timeout = 10000;
                //创建输入流
                Stream dataStream;
                //using (var dataStream = request.GetRequestStream())
                //{
                //    dataStream.Write(dataArray, 0, dataArray.Length);
                //    dataStream.Close();
                //}
                try
                {
                    dataStream = request.GetRequestStream();
                }
                catch (Exception)
                {
                    return null;//连接服务器失败
                }
                //发送请求
                dataStream.Write(dataArray, 0, dataArray.Length);
                dataStream.Close();
                //读取返回消息
                string res;
                try
                {
                    var response = (HttpWebResponse)request.GetResponse();
                    var reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                    res = reader.ReadToEnd();
                    reader.Close();
                }
                catch (Exception ex)
                {
                    var result = new ServerResult();
                    return "{"error":"connectToServer","error_description":"" + ex.Message + ""}";//连接服务器失败
                }
                return res;
            }</span></strong>

    2:GET方式提交:

    <strong><span style="font-size:14px;">private static string HttpGetConnectToServer(string serverUrl, string postData)
            {
                //创建请求
                var request = (HttpWebRequest)HttpWebRequest.Create(serverUrl + "?" + postData);
                request.Method = "GET";
                //设置上传服务的数据格式
                request.ContentType = "application/x-www-form-urlencoded";
                //请求的身份验证信息为默认
                request.Credentials = CredentialCache.DefaultCredentials;
                //请求超时时间
                request.Timeout = 10000;
                //读取返回消息
                string res;
                try
                {
                    var response = (HttpWebResponse)request.GetResponse();
                    var reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                    res = reader.ReadToEnd();
                    reader.Close();
                }
                catch (Exception ex)
                {
                    var result = new ServerResult();
                    return "{"error":"connectToServer","error_description":"" + ex.Message + ""}";
                }
                return res;
            }</span></strong>

    3:调用方法:

    <strong><span style="font-size:14px;">//服务地址
        var serverUrl ="https://openapi.baidu.com/rest/2.0/devapi/v1/lightapp/query/isonline";
     //上传的数据
        var postData = string.Format("access_token={0}&offline_app_id={1}", token, appId);</span></strong>


  • 相关阅读:
    【11.5】生成器进阶--send、close和throw方法
    【11.4】协程是什么?
    【python】IO多路复用(select、poll、epoll)介绍及select、epoll的实现
    【11.3】select+回调+事件循环获取html
    【11.2】C10K问题和io多路复用(select、poll和epoll)
    【11.1】并发、并行、同步、异步、阻塞、非阻塞
    【10.10】进程间通信--Queue、Pipe、Manager
    set autotrace on 报cannot set autotrace 错误解决方法
    通配符获取文件
    日期函数
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6915547.html
Copyright © 2011-2022 走看看