实现功能: 增加人气,增加点赞数量
分析:增加人气就是刷页面,刷一次页面就增加一次人气 增加点赞数是先获取对应的填充后访问对应的API
代码实现(功能正常新建一个控制台就可以直接使用目前刷赞数量是18888 ):
private static readonly HttpClient httpClient0 = new HttpClient(); static async void Test() { try { //第一个页面地址 string l_strURL = @"https://pano.kujiale.com/cloud/design/3FO4HB881NUA/show"; HttpResponseMessage response0 = await httpClient0.GetAsync(l_strURL); response0.EnsureSuccessStatusCode(); //访问第一个页面后获取服务端发过来的Cookies var cookies = response0.Headers.GetValues("Set-Cookie"); //通过抓包工具Fiddler找到点赞对应的请求地址 拷贝出来 string l_strCommond = "https://pano.kujiale.com/api/pano/recommend?designid=3FO4HB881NUA&panoid=3FO4HB881NUA&panotype=1"; var handler = new HttpClientHandler() { UseCookies = false }; using (HttpClient client = new HttpClient(handler)) { var message = new HttpRequestMessage(HttpMethod.Get, l_strCommond); message.Headers.Add("Cookie", cookies); //这些附加信息可有可无 如果服务器端有过滤器 指定了浏览器或者别的 那就需要再加上去 // message.Headers.Add("User-Agent", // "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0"); // message.Headers.Add("Connection", "Keep-Alive"); // message.Headers.Add("Accept", "application/json, text/plain, */*"); // message.Headers.Add("Accept-Language", "zh,zh-cn,en-us,en"); // httpClient0.Timeout = TimeSpan.FromMinutes(10); using (HttpResponseMessage response = await client.PostAsync(l_strCommond, message.Content)) { if (response.IsSuccessStatusCode) Console.WriteLine(response.Content.Headers.ContentLength); } } } catch (HttpRequestException ex) { Console.WriteLine(ex.Message); } finally { } } static void Main(string[] args) { httpClient0.Timeout = TimeSpan.FromMinutes(10); new Task(() => { for (int i = 0; i < 8888; i++) { Thread.Sleep(50); Test(); } }).Start();
Console.ReadLine(); return; }
其它:为什么再中 直接重复发送这两条地址不行,怎么样才能才能保证每次发送的不一样,这样不用写代码就可以实现上面的功能;