zoukankan      html  css  js  c++  java
  • 今日头条竞价接口转发

    一、代码

    ①类名

        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; }
            }
         }
    

      

    ②控制器

        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": "u623fu5b50u9762u79ef", "id": 1599334023368723, "value": "321", "label": "u623fu5b50u9762u79ef"}]}";
                    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

  • 相关阅读:
    Java中Bitmap的实现
    链接备用
    91家纺网,利用cookies登录
    selenium验证码pic处理代码,以91家纺网为例
    91家纺网,登录代码
    91家纺网,模拟浏览器登录
    91家纺网,models
    91家纺网,setting文件
    91家纺网,更新
    91家纺网,更新
  • 原文地址:https://www.cnblogs.com/0to9/p/9087031.html
Copyright © 2011-2022 走看看