今日头条竞价接口转发
一、代码
①类名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public class TouTiao { public class model { public string site_id { get ; set ; } public string ad_id { get ; set ; } public List<Data> data { get ; set ; } } public class Data { public string label { get ; set ; } public string lable { get ; set ; } public string value { get ; set ; } } } |
②控制器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | public class DataController : BaseController { [HttpPost] public int GetTT() { using (CR_ReservationRepository db = new CR_ReservationRepository( new Models.DBContainer())) { //正规流程 //1.UrlDecode: //2.unicode 转中文 //var e = "{ \"site_id\": \"1598708326294535\", \"ad_id\": \"\", \"data\": [{\"lable\": \"\u623f\u5b50\u9762\u79ef\", \"id\": 1599334023368723, \"value\": \"321\", \"label\": \"\u623f\u5b50\u9762\u79ef\"}]}"; var e = System.Web.HttpContext.Current.Request.Form[ "data" ]; var h = Newtonsoft.Json.JsonConvert.DeserializeObject<TouTiao.model>(e); var entity = new Models.CR_Reservation(); try { entity.Flag = "今日头条" ; entity.Status = 0; entity.CreateTime = Utils.ObjectToDateTime( GetValue(h.data, "时间" ) ); entity.Tel = GetValue(h.data, "手机" ); entity.Name = GetValue(h.data, "称呼" ); entity.Area = GetValue(h.data, "面积" ); entity.OpenSoure = e; } catch { entity.Flag = "错误" ; entity.OpenSoure = e?? "null" ; entity.Status = 0; entity.CreateTime = DateTime.Now; } db.Create(entity); return db.SaveChanges(); } } private string GetValue(List<TouTiao.Data> m, string str) { var s = "" ; try { s = m.FirstOrDefault(x => x.label.Contains(str)).value; } catch { } return s; } } |
二、过程分析
1.看官网文档。curl自己本地代码测试成功。但是不见今日数据过来,怀疑今日头条是否转发。
2.分析是否转发。查看IIS站点日志,发现有数据转发过来,准备监控流量
3.监控访问请求。打开WiresharkPortable,监控iis访问IP。查看请求过程,服务器报500错误,原来表单是按键值对传值。Rquest.Form["data"]获取到数据,ok
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 如何打造一个高并发系统?