using System;
using System.IO;
using System.Net;
using System.Security.Cryptography;
using System.Text;

namespace Gather_vin_api_
{
    public class test_api_3001
    {
        // c#代码测试接口3001,如果其他语言用ai工具自行翻译,如:【https://www.doubao.com/】【https://yiyan.baidu.com/】【https://chatglm.cn/main/alltoolsdetail?lang=zh】
        public static void TestApi_post_3001()
        {
            string user = "myusername";//这里更改您的用户名
            string pass = "mypassword";//这里更改您的密码               
            string url_parameters = "/?vin=LFMGJE720DS070251";//这里更改对应接口参数
            string token = getToken(user, pass, url_parameters);
            string baseUrl = "http://api.17vin.com:8080";

            string geturl = baseUrl + url_parameters + "&user=" + user + "&token=" + token;
            string response = httpget(geturl);

            Console.WriteLine(response);
        }
        private static string httpget(string url)
        {
            string html = "";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "GET";
            request.Timeout = 10000;  // 设置超时时间为10秒(单位是毫秒),可根据实际情况调整

            try
            {
                WebResponse response = request.GetResponse();
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
                    string responseBody = reader.ReadToEnd();
                    html = responseBody;
                }
                response.Close();
            }
            catch (Exception ex)
            {
                html = ex.Message;
            }
            return html;
        }
        private static string getMd5(string ConvertString)
        {
            MD5CryptoServiceProvider mD5CryptoServiceProvider = new MD5CryptoServiceProvider();
            return BitConverter.ToString(mD5CryptoServiceProvider.ComputeHash(Encoding.UTF8.GetBytes(ConvertString))).Replace("-", "").ToLower();
        }
        private static string getToken(string user, string pass, string url_parameters)
        {
            return getMd5(getMd5(user) + getMd5(pass) + url_parameters);
        }
    }
}