.net get post 传递参数 获取返回值

    /// <summary>
    /// post调用接口(utf8形式)
    /// </summary>
    /// <param name="strUrl">url</param>
    /// <param name="strParm">参数</param>
    /// <returns></returns>
    public static string PostModel(string strUrl, string strParm)
    {
        Encoding encode = Encoding.UTF8;

        byte[] arrB = encode.GetBytes(strParm);
        string strBaseUrl = null;

        HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(strUrl);
        myReq.Method = "POST";
        myReq.ContentType = "application/x-www-form-urlencoded";
        myReq.ContentLength = arrB.Length;
        Stream outStream = myReq.GetRequestStream();
        outStream.Write(arrB, 0, arrB.Length);
        outStream.Close();
        WebResponse myResp = null;
        try
        {
            //接收HTTP做出的响应  
            myResp = myReq.GetResponse();
        }
        catch (Exception e)
        {
            int ii = 0;
        }
        Stream ReceiveStream = myResp.GetResponseStream();
        StreamReader readStream = new StreamReader(ReceiveStream, encode);
        Char[] read = new Char[256];
        int count = readStream.Read(read, 0, 256);
        string str = null;
        while (count > 0)
        {
            str += new String(read, 0, count);
            count = readStream.Read(read, 0, 256);
        }
        readStream.Close();
        myResp.Close();
        return str;
    }

    /// <summary>
    /// get调用接口
    /// </summary>
    /// <param name="strUrl">url</param>
    /// <returns></returns>
    private string GetModel(string strUrl)
    {
        string strRet = null;
        try
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl);
            request.Timeout = 2000;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            System.IO.Stream resStream = response.GetResponseStream();
            Encoding encode = System.Text.Encoding.Default;
            StreamReader readStream = new StreamReader(resStream, encode);

            Char[] read = new Char[256];
            int count = readStream.Read(read, 0, 256);
            while (count > 0)
            {
                String str = new String(read, 0, count);
                strRet = strRet + str;
                count = readStream.Read(read, 0, 256);
            }

            resStream.Close();
        }
        catch (Exception e)
        {
            strRet = "";
        }
        return strRet;
    }  


在C# ASP.NET中引入第三方接口并处理其请求通常涉及到以下几个步骤: 1. **添加依赖**: 首先,你需要通过NuGet包管理器或者直接在`web.config`文件中添加对所需第三方API库的引用,比如HttpClient、RestSharp等,用于发送HTTP请求。 2. **创建客户端类**: 创建一个新的类,例如`ThirdPartyApiClient.cs`,并在其中定义一个静态方法,这个方法会使用HttpClient或者其他工具来发送POST、GET或其他类型的请求。例如,使用HttpClient可能会像这样: ```csharp public static async Task<string> CallThirdPartyApi(string apiUrl, Dictionary<string, string> parameters) { using var client = new HttpClient(); var content = new FormUrlEncodedContent(parameters); HttpResponseMessage response = await client.GetAsync(apiUrl, content); if (response.IsSuccessStatusCode) { return await response.Content.ReadAsStringAsync(); } else { // 处理错误响应 return null; } } ``` 3. **调用接口**: 调用这个方法时,传入第三方API的URL以及需要传递的参数。例如: ```csharp var apiUrl = "https://api.example.com/data"; var paramsDict = new Dictionary<string, string> { { "key1", "value1" }, { "key2", "value2" } }; var result = await ThirdPartyApiClient.CallThirdPartyApi(apiUrl, paramsDict); ``` 4. **处理返回值**: 获取到响应后,根据API的具体文档解析返回的数据。如果返回的是JSON,可以使用JsonConvert.DeserializeObject转换成动态对象或模型类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值