C#的各种网络请求方法

HttpWebRequest

需引用using System.Net

通用方法:

这两个方法 自己加进去

//获取json字符串中的字段 
static string getMsg(string json, params string[] keys)
{
    string result = string.Empty;

    try
    {
        JObject jsonObject = JObject.Parse(json);

        JToken currentToken = jsonObject;
        foreach (string key in keys)
        {
            if (currentToken.Type == JTokenType.Object && ((JObject)currentToken).TryGetValue(key, out JToken nextToken))
            {
                currentToken = nextToken;
            }
            else
            {
                Console.WriteLine($"Key '{key}' not found in JSON.");
                return string.Empty;
            }
        }

        result = currentToken.ToString();
    }
    catch (JsonException ex)
    {
        Console.WriteLine($"Error parsing JSON: {ex.Message}");
    }

    return result;
}

static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
    return true; //如果不希望验证证书有效性,直接返回 true

get

framework 和net core 都可使用此方法

  public class Program
    {
        static  void Main(string[] args)
        {
            string baseUrl = "https://localhost:7293/api/Books/SearchBooks";
            string param1 = "111"; // 参数值
            string param2 = "2222"; // 参数值
            string contentType = "application/json"; // 内容接收类型
            string url = $"{baseUrl}?userName={param1}&pwd={param2}";

            try
            {
                // 忽略证书验证,一般测试环境使用
                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);

                // 创建一个 HttpWebRequest 实例
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "GET";//请求方式为GET
                request.ProtocolVersion = HttpVersion.Version11;//设置了HTTP协议版本为HTTP/1.1
                request.AllowAutoRedirect = true;//设置了是否允许自动重定向。如果设置为true,则允许在响应代码为3xx(重定向)时自动跟随重定向。
                request.ContentType = contentType;//请求的Content-Type头部。Content-Type指定了请求正文的MIME类型,它告诉服务器发送的数据的类型是什么。
                request.CookieContainer = new CookieContainer();//CookieContainer用于在HTTP请求之间保持Cookie状态,允许你发送和接收Cookie。

                // 发送请求并获取响应
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())// using语句来确保在使用完毕后及时关闭,也可以不使用using
                {
                    Stream stream = response.GetResponseStream();//获取响应正文的流。返回一个Stream对象,它允许你从

你可能感兴趣的:(c#,开发语言,网络)