protected void Page_Load(object sender, EventArgs e) { //采集地址 https://www.fullgoal.com.cn/PCF/html/PCF21/index.html?fundCode=513870 string date = "2024-04-01"; string url = "https://www.fullgoal.com.cn/pcfapi/fullgoal_qryPCF21"; string post = String.Empty; if (true) { var param = new { fundCode = code, fileDate = date.Replace("-", ""), t = "2024-04-05T13:08:45.721Z" }; string str = JsonConvert.SerializeObject(param); string md5 = TextHelper.MD5(str).ToLower(); byte[] utf8 = Encoding.UTF8.GetBytes(str); string base64 = Convert.ToBase64String(utf8); post = String.Format("data={0}{1}{2}", md5.Substring(0, 10), base64, md5.Substring(md5.Length - 5, 5)); } Dictionary<string, string> dict_head = new Dictionary<string, string> { { "Content-Type", "application/x-www-form-urlencoded" }, { "Accept", "application/json" }, { "x-mas-app-info", "1234567/public" } }; string res = Shentoo.Framework.HttpHelper.PostUrl(url, post, dict_head); Response.Write(res); } public static string MD5(string text) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] md5data = md5.ComputeHash(Encoding.UTF8.GetBytes(text)); md5.Clear(); string str = ""; for (int i = 0; i < md5data.Length; i++) { str += md5data[i].ToString("x").PadLeft(2, '0'); } return str; } /// <summary> /// Post请求 /// </summary> public static string PostUrl(string url, string content, Dictionary<string, string> d = null) { using (System.Net.WebClient wc = new System.Net.WebClient()) { wc.Encoding = System.Text.Encoding.UTF8; if (d != null) { foreach (var it in d) wc.Headers.Add(it.Key, it.Value); } try { return wc.UploadString(url, content); } catch (Exception e) { throw new ArgumentNullException("value", url + "|" + content + "|" + e.Message); } } }
搞了一天,第一次碰到这种问题,是哪个环节出了问题
可能是响应的内容被加密了