Commit eb35e92c authored by wuliangshun's avatar wuliangshun

添加获取cookie

parent 9e241f7e
......@@ -12,6 +12,7 @@ using iqiyiWin.Response;
using iqiyiWin.Response.User.CouponList;
using iqiyiWin.Response.User.LockDraw;
using iqiyiWin.Response.User.MovieBean;
using iqiyiWin.Response.User.Sign;
using iqiyiWin.Util;
using Newtonsoft.Json;
......@@ -20,6 +21,118 @@ namespace iqiyiWin.Api
public class User
{
private static Random NonceRandom = new Random();
public static CookieCollection GetSupportAreacode()
{
var queryList = new SortedDictionary<string, string>();
queryList.Add("local", "1");
queryList.Add("use_case", "1");
queryList.Add("ptid", "02032001010000000000");
queryList.Add("agenttype", "12");
var cookieContainer = new CookieContainer();
var response = HttpUtils.DoPostResult(cookieContainer, "https://m.iqiyi.com/", "https://passport.iqiyi.com" + "/apis/phone/get_support_areacode.action?smart", UrlUtils.BuildQueryStringUrl(queryList).Substring(1), null);
return response.Cookie;
//var response = JsonConvert.DeserializeObject<object>(responseStr);
}
public static string UserLogin(IqiyiAccount iqiyiAccount)
{
var guid = Guid.NewGuid().ToString();
// 获取P00004 & QC005
var cookieCollection = GetSupportAreacode();
var cookieContainer = new CookieContainer();
var QC005 = "";
var cookieItem = new Cookie();
foreach (var v in cookieCollection)
{
var ckItem = v as Cookie;
if(ckItem.Name == "QC005")
{
QC005 = ckItem.Value;
}
cookieItem.Name = ckItem.Name;
cookieItem.Value = ckItem.Value;
cookieItem.Domain = ckItem.Domain;
cookieContainer.Add(cookieItem);
}
// 获取QC006
var QC006 = IqiyiSign.GetQC006();
var QC007 = "DIRECT";
// 写入 QC006 & QC007
cookieItem.Name = "QC006";
cookieItem.Value = QC006;
cookieItem.Domain = ".iqiyi.com";
cookieContainer.Add(cookieItem);
cookieItem.Name = "QC007";
cookieItem.Value = QC007;
cookieItem.Domain = ".iqiyi.com";
cookieContainer.Add(cookieItem);
var signRequst = new IqiyiH5DfpSignRequest()
{
Dim = IqiyiSign.GetDim(QC005, QC006, guid)
};
signRequst.Sig = IqiyiSign.H5Sign(signRequst.Dim + signRequst.Plat + signRequst.Ver).ToUpper();
SortedDictionary<string, string> signQueryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(signRequst));
var signResponseStr = HttpUtils.DoPost(cookieContainer, "https://m.iqiyi.com/", "https://cook.iqiyi.com" + "/security/dfp_pcw/sign", UrlUtils.BuildQueryStringUrl(signQueryList).Substring(1), null, 10000);
var signResponse = JsonConvert.DeserializeObject<SignResponse>(signResponseStr);
if (signResponse.Code != "0")
{
return "";
}
var request = new IqiyiH5UserLoginRequest()
{
Email = iqiyiAccount.MobileNo,
Passwd = IqiyiSign.Encryption(iqiyiAccount.Password),
Dfp = signResponse.Result.Dfp
};
cookieItem.Name = "__uuid";
cookieItem.Value = guid;
cookieItem.Domain = ".iqiyi.com";
cookieContainer.Add(cookieItem);
//cookieItem.Name = "__dfp";
//cookieItem.Value = signResponse.Result.Dfp + "@" + signResponse.Result.ExpireAt + "@" + signResponse.Result.ExpireAt;
//cookieItem.Domain = ".iqiyi.com";
//cookieContainer.Add(cookieItem);
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
var responseObject = HttpUtils.DoPostResult(cookieContainer, "https://m.iqiyi.com/", "https://passport.iqiyi.com" + "/apis/reglogin/login.action", UrlUtils.BuildQueryStringUrl(queryList).Substring(1), null, 10000);
var response = JsonConvert.DeserializeObject<IqiyiH5BaseResponse<object>>(responseObject.Body);
if (response != null && response.Code == "A00000")
{
var resultCookies = responseObject.Cookie;
var P00001 = "";
foreach (var item in resultCookies)
{
var ckItem = item as Cookie;
if(ckItem.Name == "P00001")
{
P00001 = ckItem.Value;
break;
}
}
return P00001;
}
else
{
// UILogUtils.Error($"爱奇艺票务 【获取观影豆】失败: {iqiyiAccount.MobileNo} {(response == null ? responseStr : response.Msg)}");
return response.Msg;
}
}
/// <summary>
/// 查询观影豆
/// </summary>
......
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iqiyiWin.Enums
{
public enum ReacquireCookieEnums
{
/// <summary>
/// 为获取
/// </summary>
[Description("未获取")]
NoReacquire = 0,
/// <summary>
/// 获取成功
/// </summary>
[Description("获取成功")]
ReacquireSuccess = 1,
/// <summary>
/// 获取失败
/// </summary>
[Description("获取失败")]
ReacquireError = 2,
}
}
......@@ -39,5 +39,10 @@ namespace iqiyiWin.Enums
/// </summary>
[Description("领取新手任务豆")]
ReceiveNewbieTask = 5,
/// <summary>
/// 重新获取Cookie
/// </summary>
[Description("重新获取Cookie")]
ReacquireCookie = 6,
}
}
......@@ -9,22 +9,29 @@ using System.Threading;
using System.Threading.Tasks;
using System.Timers;
using System.Windows.Forms;
using iqiyiWin.Enums;
using iqiyiWin.Model;
using iqiyiWin.Util;
namespace iqiyiWin
{
public partial class FormWebBrower : Form
{
public static Boolean IsInjection = false;
System.Timers.Timer loadHtmlTimer = new System.Timers.Timer();
public static IqiyiAccount IqiyiAccount = new IqiyiAccount();
public FormWebBrower()
{
WebBrowserFeaturesUtils.SetWebBrowserFeatures(11);
IsInjection = false;
InitializeComponent();
Init();
}
public void Init()
public void Init(IqiyiAccount iqiyiAccount)
{
wb_login.Navigate("https://m.iqiyi.com/user.html#baseLogin");
wb_login.ScriptErrorsSuppressed = true;
IqiyiAccount = iqiyiAccount;
wb_login.Navigate("https://m.iqiyi.com/user.html?redirect_url=https%3A%2F%2Fmovie.iqiyi.com%2Fuser%2Fmine#baseLogin");
wb_login.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_login_DocumentCompleted);//加载完成后的事件
}
/// <summary>
......@@ -35,19 +42,46 @@ namespace iqiyiWin
private void wb_login_DocumentCompleted(object sender, EventArgs e)
{
wb_login.ScriptErrorsSuppressed = true;
//if (wb_login.Document.Cookie != null)
//{
// wb_login.Document.Cookie.Remove(0, wb_login.Document.Cookie.Length - 1);
//}
var url = wb_login.Url.ToString();
var title = wb_login.DocumentTitle;
if (url == "https://m.iqiyi.com/user.html#baseLogin")
if (url == "https://m.iqiyi.com/user.html?redirect_url=https%3A%2F%2Fmovie.iqiyi.com%2Fuser%2Fmine#baseLogin")
{
if (wb_login.Document.GetElementById("phoneNumber") != null)
{
var html = wb_login.DocumentText;
LoadOtherHtml("15005885021","axs970610");
if(!IsInjection)
{
IsInjection = true;
LoadOtherHtml(IqiyiAccount.MobileNo, IqiyiAccount.Password);
}
}
//loadHtmlTimer.Stop();
// TODO
//if (!loadHtmlTimer.Enabled)
//{
// loadHtmlTimer.Enabled = true;
// loadHtmlTimer.Interval =5 * 1000;
// loadHtmlTimer.Start();
// loadHtmlTimer.Elapsed += new System.Timers.ElapsedEventHandler(loadHtmlTimerElapsed);
//}
}
else if(url == "https://m.iqiyi.com/user.html?redirect_url=https%3A%2F%2Fmovie.iqiyi.com%2Fuser%2Fmine#hrisk?isHideAppLogin=true")
{
// 当前存在分线
var a = wb_login.Document.Cookie;
}
else
{
//loadHtmlTimer.Stop();
var cookie = wb_login.Document.Cookie.Replace("\r", "").Replace("\n", ""); ;
var cookieList = cookie.Split(';');
var p00001 = "";
var __dfp = "";
foreach (var item in cookieList)
{
var key = item.Split('=')[0].Trim();
......@@ -55,18 +89,59 @@ namespace iqiyiWin
if(key == "P00001")
{
p00001 = value;
break;
}
else if(key == "__dfp")
{
__dfp = value;
}
}
if(p00001.Length > 0)
{
IqiyiAccount.Cookie = p00001 + "|" + __dfp;
IqiyiAccount.Status = (int)ReacquireCookieEnums.ReacquireSuccess;
}
private void LoadOtherHtml(string mobileNo , string password)
else
{
var scriptText = "if(document.getElementById('phoneNumber')){document.getElementById('phoneNumber').value='" + mobileNo + "'}if(document.getElementsByClassName('enterNumber')&&document.getElementsByClassName('enterNumber')[2]){document.getElementsByClassName('enterNumber')[2].value='" + password + "'}if(document.getElementsByClassName('c-check-link')&&document.getElementsByClassName('c-check-link')[0]){document.getElementsByClassName('c-check-link')[0].click()}if(document.getElementsByClassName('c-btn-block c-btn-base')&&document.getElementsByClassName('c-btn-block c-btn-base')[0]){document.getElementsByClassName('c-btn-block c-btn-base')[0].click()};";
IqiyiAccount.Status = (int)ReacquireCookieEnums.ReacquireError;
}
wb_login.Document.Cookie.Remove(0, (wb_login.Document.Cookie.Length - 1));
foreach (var v in wb_login.Document.Cookie.Split(';'))
{
string[] item = v.Split('=');
if (item.Length == 2)
{
string name = item[0];
string value = item[1];
WebBrowserCookie.InternetSetCookie(wb_login.Url.ToString(), name, "");
}
}
wb_login.Url = null;
wb_login.Document.OpenNew(false);
wb_login.Dispose();
Main._this.ReacquireCookieBack(IqiyiAccount);
WebCleaner.CleanCookie();
}
}
public void loadHtmlTimerElapsed(object source, ElapsedEventArgs e)
{
IqiyiAccount.Status = (int)ReacquireCookieEnums.ReacquireError;
Main._this.ReacquireCookieBack(IqiyiAccount);
this.Close();
}
private void LoadOtherHtml(string mobileNo, string password)
{
var vConsole = wb_login.Document.CreateElement("script");
vConsole.SetAttribute("type", "text/javascript");
vConsole.SetAttribute("src", "https://m-test.qianzhu8.com/kfc/js/vconsole.min.js"); //这里写JS代码
wb_login.Document.Body.AppendChild(vConsole);
var scriptText = "if(document.getElementById('phoneNumber')){document.getElementById('phoneNumber').value='" + mobileNo + "'}if(document.getElementsByClassName('enterNumber')&&document.getElementsByClassName('enterNumber')[2]){document.getElementsByClassName('enterNumber')[2].value='" + password + "'}if(document.getElementsByClassName('selected').length==2){document.getElementsByClassName('c-check-link')[0].click()}if(document.getElementsByClassName('c-check-link')&&document.getElementsByClassName('c-check-link')[0]){document.getElementsByClassName('c-check-link')[0].click()}if(document.getElementsByClassName('c-btn-block c-btn-base')&&document.getElementsByClassName('c-btn-block c-btn-base')[0]){document.getElementsByClassName('c-btn-block c-btn-base')[0].click()}";
HtmlElement script = wb_login.Document.CreateElement("script");
script.SetAttribute("type", "text/javascript");
script.SetAttribute("text", scriptText); //这里写JS代码
HtmlElement head = wb_login.Document.Body.AppendChild(script);
wb_login.Document.Body.AppendChild(script);
}
}
}
......@@ -44,6 +44,7 @@
this.查询观影豆ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.查询优惠券ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.抽奖ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.领取新手任务豆ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.复制账号ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.删除ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
......@@ -60,6 +61,7 @@
this.cb_signIn = new System.Windows.Forms.CheckBox();
this.cb_luckDraw = new System.Windows.Forms.CheckBox();
this.cb_ReceiveNewbieTask = new System.Windows.Forms.CheckBox();
this.ck_ReacquireCookie = new System.Windows.Forms.CheckBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.btn_start = new System.Windows.Forms.Button();
......@@ -81,7 +83,6 @@
this.tssl_error_num = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabel5 = new System.Windows.Forms.ToolStripStatusLabel();
this.tssl_wait_num = new System.Windows.Forms.ToolStripStatusLabel();
this.领取新手任务豆ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tableLayoutPanel1.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgv_user)).BeginInit();
......@@ -220,7 +221,7 @@
this.导出账号ToolStripMenuItem,
this.清空账号ToolStripMenuItem});
this.cms_user.Name = "cms_user";
this.cms_user.Size = new System.Drawing.Size(187, 290);
this.cms_user.Size = new System.Drawing.Size(187, 268);
//
// 签到ToolStripMenuItem
//
......@@ -250,6 +251,13 @@
this.抽奖ToolStripMenuItem.Text = "抽奖";
this.抽奖ToolStripMenuItem.Click += new System.EventHandler(this.抽奖ToolStripMenuItem_Click);
//
// 领取新手任务豆ToolStripMenuItem
//
this.领取新手任务豆ToolStripMenuItem.Name = "领取新手任务豆ToolStripMenuItem";
this.领取新手任务豆ToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
this.领取新手任务豆ToolStripMenuItem.Text = "领取新手任务豆";
this.领取新手任务豆ToolStripMenuItem.Click += new System.EventHandler(this.领取新手任务豆ToolStripMenuItem_Click);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
......@@ -337,10 +345,12 @@
this.tableLayoutPanel3.Controls.Add(this.cb_signIn, 0, 0);
this.tableLayoutPanel3.Controls.Add(this.cb_luckDraw, 0, 3);
this.tableLayoutPanel3.Controls.Add(this.cb_ReceiveNewbieTask, 0, 4);
this.tableLayoutPanel3.Controls.Add(this.ck_ReacquireCookie, 0, 5);
this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel3.Location = new System.Drawing.Point(3, 17);
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
this.tableLayoutPanel3.RowCount = 6;
this.tableLayoutPanel3.RowCount = 7;
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F));
......@@ -410,6 +420,18 @@
this.cb_ReceiveNewbieTask.Text = "领取新手任务豆";
this.cb_ReceiveNewbieTask.UseVisualStyleBackColor = true;
//
// ck_ReacquireCookie
//
this.ck_ReacquireCookie.AutoSize = true;
this.ck_ReacquireCookie.Dock = System.Windows.Forms.DockStyle.Fill;
this.ck_ReacquireCookie.Location = new System.Drawing.Point(13, 163);
this.ck_ReacquireCookie.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.ck_ReacquireCookie.Name = "ck_ReacquireCookie";
this.ck_ReacquireCookie.Size = new System.Drawing.Size(212, 26);
this.ck_ReacquireCookie.TabIndex = 9;
this.ck_ReacquireCookie.Text = "重新获取Token";
this.ck_ReacquireCookie.UseVisualStyleBackColor = true;
//
// groupBox4
//
this.groupBox4.Controls.Add(this.tableLayoutPanel2);
......@@ -607,13 +629,6 @@
this.tssl_wait_num.Size = new System.Drawing.Size(15, 17);
this.tssl_wait_num.Text = "0";
//
// 领取新手任务豆ToolStripMenuItem
//
this.领取新手任务豆ToolStripMenuItem.Name = "领取新手任务豆ToolStripMenuItem";
this.领取新手任务豆ToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
this.领取新手任务豆ToolStripMenuItem.Text = "领取新手任务豆";
this.领取新手任务豆ToolStripMenuItem.Click += new System.EventHandler(this.领取新手任务豆ToolStripMenuItem_Click);
//
// Main
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
......@@ -696,6 +711,7 @@
private System.Windows.Forms.Button button4;
private System.Windows.Forms.CheckBox cb_ReceiveNewbieTask;
private System.Windows.Forms.ToolStripMenuItem 领取新手任务豆ToolStripMenuItem;
private System.Windows.Forms.CheckBox ck_ReacquireCookie;
}
}
......@@ -19,6 +19,11 @@ using DingDingSdk;
using iqiyiWin.Enums;
using iqiyiWin.Extension;
using iqiyiWin.Qianzhu.Api;
using System.Diagnostics;
using System.Net.Sockets;
using NLog;
using System.Web;
using System.Xml;
namespace iqiyiWin
{
......@@ -108,6 +113,28 @@ namespace iqiyiWin
/// 爱奇艺影院账号列表
/// </summary>
public List<QianZhuSaveIqiyiCinema> IqiyiCinemas = new List<QianZhuSaveIqiyiCinema>();
/// <summary>
/// 重新获取cookie时间
/// </summary>
public string ReacquireCookieDateText = "";
/// <summary>
/// 重新获取cookie时间
/// </summary>
public string ReacquireCookieTimeText = "";
/// <summary>
/// 当前重新cookie账号下标
/// </summary>
public int ReacquireCookieIndex = 0;
/// <summary>
/// 重新获取cookie最大窗口数量
/// </summary>
public int ReacquireCookieNum = 1;
/// <summary>
/// 重新获取cookie列表
/// </summary>
public List<IqiyiAccount> ReacquireCookieAccountList = new List<IqiyiAccount>();
public FormWebBrower FormWebBrower = null;
public MyHttpListenerUtils myHttpListenerUtils = null;
public Main()
{
......@@ -123,12 +150,10 @@ namespace iqiyiWin
UILogUtils.Add(this);
dgv_user.AutoGenerateColumns = false;
//StartServerAsync();
var formWB = new FormWebBrower();
formWB.Show();
}
private void Form1_Load(object sender, EventArgs e)
{
}
......@@ -1116,6 +1141,169 @@ namespace iqiyiWin
}
}
#endregion
public void ReacquireCookie(List<IqiyiAccount> iqiyiAccounts)
{
if (myHttpListenerUtils == null)
{
myHttpListenerUtils = new MyHttpListenerUtils();
var tempThread = new Thread(myHttpListenerUtils.OnStart);
tempThread.Start();
}
ReacquireCookieDateText = DateTime.Now.ToString("yyyyMMdd");
ReacquireCookieTimeText = DateTime.Now.ToString("HHmmss");
ReacquireCookieIndex = 0;
StartTime = DateUtils.GetTimeStampOfMilliseconds();
SelectNum = iqiyiAccounts.Count;
ImplementNum = 0;
SuccessNum = 0;
ErrorNum = 0;
WaitNum = iqiyiAccounts.Count;
setStatusStripNum();
ReacquireCookieAccountList = iqiyiAccounts;
runNextReacquireCookie();
//_cancellationTokenSource?.Cancel();
//_cancellationTokenSource = new CancellationTokenSource();
//CancellationToken cancellationToken = _cancellationTokenSource.Token;
//String fileDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "日志", "重新获取Cookie", ReacquireCookieDateText);
//String fileNamePrefixSuccess = "重新获取Cookie-" + ReacquireCookieTimeText + ".txt";
//String fileNamePrefixError = "重新获取Cookie-" + ReacquireCookieTimeText + ".txt";
//foreach (var iqiyiAccount in iqiyiAccounts)
//{
//Task.Factory.StartNew(() =>
//{
// int threadId = Thread.CurrentThread.ManagedThreadId;
// if (!_threadIdSet.Contains(threadId))
// {
// _threadIdSet.Add(threadId);
// UILogUtils.Info($"线程[{threadId}]运行中...总线程数[{_threadIdSet.Count}]");
// }
// string filePath = "";
// var P00001 = User.UserLogin(iqiyiAccount);
// if(P00001 != "")
// {
// string fileText = $"{iqiyiAccount.MobileNo}----{iqiyiAccount.Password}----{P00001}|原始Token:{iqiyiAccount.Cookie}";
// Interlocked.Increment(ref SuccessNum);
// Interlocked.Increment(ref ImplementNum);
// Interlocked.Decrement(ref WaitNum);
// fileText = $"{fileText}\n";
// filePath = Path.Combine(fileDirectory, fileNamePrefixSuccess);
// FileUtils.AppendAllText(filePath, fileText, Encoding.UTF8);
// }
// else
// {
// string fileText = $"{iqiyiAccount.MobileNo}----{iqiyiAccount.Password}----{iqiyiAccount.Cookie}";
// Interlocked.Increment(ref ErrorNum);
// Interlocked.Increment(ref ImplementNum);
// Interlocked.Decrement(ref WaitNum);
// fileText = $"{fileText}\n";
// filePath = Path.Combine(fileDirectory, fileNamePrefixError);
// FileUtils.AppendAllText(filePath, fileText, Encoding.UTF8);
// }
// setStatusStripNum();
//}, cancellationToken);
//}
}
public void runNextReacquireCookie()
{
if(IqiyiAccounts.Count < ReacquireCookieIndex - 1)
{
return;
}
// 先关闭打开的无痕浏览器
Process[] CurrentPro = Process.GetProcesses();
for (int i = 0; i < CurrentPro.Length; i++)
{
if (CurrentPro[i].MainWindowTitle.Contains("Google Chrome") && CurrentPro[i].MainWindowTitle.Contains("爱奇艺票务"))
{
CurrentPro[i].Kill();
break;
}
}
// TODO
var iqiyiAccount = IqiyiAccounts[ReacquireCookieIndex];
var process = new Process();
process.StartInfo.FileName = "chrome";
var url = $"https://m.iqiyi.com/user.html?mobile={iqiyiAccount.MobileNo}&password={iqiyiAccount.Password}&redirect_url=https%3A%2F%2Fmovie.iqiyi.com%2Fuser%2Fmine#baseLogin";
var startInfoArguments = "";
//startInfoArguments += " --headless";
startInfoArguments += " --new-window";
startInfoArguments += " --Incognito";
process.StartInfo.Arguments = url + startInfoArguments;
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
process.Start();
//FormWebBrower = null;
//FormWebBrower = new FormWebBrower();
//FormWebBrower.Show();
//FormWebBrower.Init(IqiyiAccounts[ReacquireCookieIndex]);
ReacquireCookieAccountList.Add(iqiyiAccount);
if (ReacquireCookieAccountList.Count < ReacquireCookieNum - 1)
{
Interlocked.Increment(ref ReacquireCookieIndex);
runNextReacquireCookie();
}
}
public void ReacquireCookieBack(IqiyiAccount iqiyiAccount)
{
String fileDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "日志", "重新获取Cookie", ReacquireCookieDateText);
String fileNamePrefixSuccess = "重新获取Cookie-" + ReacquireCookieTimeText + ".txt";
String fileNamePrefixError = "重新获取Cookie-" + ReacquireCookieTimeText + ".txt";
String fileNamePrefix = "";
String filePath = "";
String statusText = EnumsUtils.GetDescriptionByEnum((ReacquireCookieEnums)Enum.ToObject(typeof(ReacquireCookieEnums), iqiyiAccount.Status));
String fileText = $"{iqiyiAccount.MobileNo}----{iqiyiAccount.Password}----{iqiyiAccount.Cookie}|{statusText}";
if (iqiyiAccount.Status == (int)ReacquireCookieEnums.ReacquireSuccess)
{
fileNamePrefix = fileNamePrefixSuccess;
Interlocked.Increment(ref SuccessNum);
Interlocked.Increment(ref ImplementNum);
Interlocked.Decrement(ref WaitNum);
}
else
{
fileNamePrefix = fileNamePrefixError;
Interlocked.Increment(ref ErrorNum);
Interlocked.Increment(ref ImplementNum);
Interlocked.Decrement(ref WaitNum);
}
// FormWebBrower.Dispose();
fileText = $"{fileText}\n";
filePath = Path.Combine(fileDirectory, fileNamePrefix);
setStatusStripNum();
for (int i = 0; i < ReacquireCookieAccountList.Count; i++)
{
var item = ReacquireCookieAccountList[i];
if(item.MobileNo == iqiyiAccount.MobileNo)
{
ReacquireCookieAccountList.RemoveAt(i);
break;
}
}
Interlocked.Increment(ref ReacquireCookieIndex);
if (ReacquireCookieIndex < IqiyiAccounts.Count)
{
runNextReacquireCookie();
}
FileUtils.AppendAllText(filePath, fileText, Encoding.UTF8);
}
/// <summary>
/// 开始按钮
/// </summary>
......@@ -1176,6 +1364,12 @@ namespace iqiyiWin
TaskList.Add(TaskTypeEnum.ReceiveNewbieTask);
taskNameList.Add($"{EnumExtension.GetDescription(TaskTypeEnum.ReceiveNewbieTask)}");
}
// 重新拉去cookie
if (ck_ReacquireCookie.Checked)
{
TaskList.Add(TaskTypeEnum.ReacquireCookie);
taskNameList.Add($"{EnumExtension.GetDescription(TaskTypeEnum.ReacquireCookie)}");
}
if (TaskList.Count != 0)
{
......@@ -1231,6 +1425,9 @@ namespace iqiyiWin
case TaskTypeEnum.ReceiveNewbieTask:
receiveNewbieTask(IqiyiAccounts);
break;
case TaskTypeEnum.ReacquireCookie:
ReacquireCookie(IqiyiAccounts);
break;
default:
UILogUtils.Error($"未知任务类型");
break;
......
......@@ -4,6 +4,7 @@ using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Enums;
using iqiyiWin.Response.User.CouponList;
namespace iqiyiWin.Model
......@@ -50,6 +51,12 @@ namespace iqiyiWin.Model
/// 优惠券列表
/// </summary>
public List<Valid> CouponList { get; set; }
/// <summary>
/// 重新获取token状态
/// 0 未获取
/// 1 获取成功
/// 2 获取失败
/// </summary>
public int Status { get; set; } = (int)ReacquireCookieEnums.NoReacquire;
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Model
{
public class IqiyiH5Dim
{
/// <summary>
/// Examples: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
/// </summary>
[JsonProperty("jn")]
public string Jn { get; set; } = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";
/// <summary>
/// Examples: "zh-CN"
/// </summary>
[JsonProperty("cm")]
public string Cm { get; set; } = "zh-CN";
/// <summary>
/// Examples: 24
/// </summary>
[JsonProperty("gu")]
public int Gu { get; set; } = 24;
/// <summary>
/// Examples: 3
/// </summary>
[JsonProperty("uf")]
public int Uf { get; set; } = 3;
/// <summary>
/// Examples: [812,375]
/// </summary>
[JsonProperty("jr")]
public List<int> Jr { get; set; } = new List<int>() { 812, 375};
/// <summary>
/// Examples: [812,375]
/// </summary>
[JsonProperty("di")]
public List<int> Di { get; set; } = new List<int>() { 812, 375 };
/// <summary>
/// Examples: -480
/// </summary>
[JsonProperty("zp")]
public int Zp { get; set; } = -480;
/// <summary>
/// Examples: 1
/// </summary>
[JsonProperty("uh")]
public int Uh { get; set; } = 1;
/// <summary>
/// Examples: 1
/// </summary>
[JsonProperty("sh")]
public int Sh { get; set; } = 1;
/// <summary>
/// Examples: 1
/// </summary>
[JsonProperty("he")]
public int He { get; set; } = 1;
/// <summary>
/// Examples: 1
/// </summary>
[JsonProperty("zo")]
public int Zo { get; set; } = 1;
/// <summary>
/// Examples: "unknown"
/// </summary>
[JsonProperty("rv")]
public string Rv { get; set; } = "unknown";
/// <summary>
/// Examples: "Win32"
/// </summary>
[JsonProperty("nx")]
public string Nx { get; set; } = "Win32";
/// <summary>
/// Examples: "unknown"
/// </summary>
[JsonProperty("iw")]
public string Iw { get; set; } = "unknown";
/// <summary>
/// Examples: []
/// </summary>
[JsonProperty("qm")]
public List<string> Qm { get; set; } = new List<string> { };
/// <summary>
/// Examples: "e421d52e63e9bc74e6db153f901ff028"
/// </summary>
[JsonProperty("wr")]
public string Wr { get; set; }
/// <summary>
/// Examples: "37d2ac50723da033efc14274b809c431"
/// </summary>
[JsonProperty("wg")]
public string Wg { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("fk")]
public bool Fk { get; set; } = false;
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("rg")]
public bool Rg { get; set; } = false;
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("xy")]
public bool Xy { get; set; } = false;
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("jm")]
public bool Jm { get; set; } = true;
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("ba")]
public bool Ba { get; set; } = true;
/// <summary>
/// Examples: [1,true,true]
/// </summary>
[JsonProperty("tm")]
public List<object> Tm { get; set; } = new List<object> { 1, true, true};
/// <summary>
/// Examples: 6
/// </summary>
[JsonProperty("cc")]
public int Cc { get; set; } = 6;
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("vt")]
public bool Vt { get; set; } = true;
/// <summary>
/// Examples: "ANGLE (Intel, Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.8935)"
/// </summary>
[JsonProperty("rr")]
public string Rr { get; set; } = "ANGLE (Intel, Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.8935)";
/// <summary>
/// Examples: "Google Inc. (Intel)"
/// </summary>
[JsonProperty("vd")]
public string Vd { get; set; } = "Google Inc. (Intel)";
/// <summary>
/// Examples: "WebGL 1.0 (OpenGL ES 2.0 Chromium)"
/// </summary>
[JsonProperty("wv")]
public string Wv { get; set; } = "WebGL 1.0 (OpenGL ES 2.0 Chromium)";
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("hl")]
public bool Hl { get; set; } = false;
/// <summary>
/// Examples: "7,8"
/// </summary>
[JsonProperty("ht")]
public string Ht { get; set; } = "7,8";
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("au")]
public bool Au { get; set; } = true;
/// <summary>
/// Examples: "b434a361-37f2-e3e7-199e-a26d9c89b4d7"
/// </summary>
[JsonProperty("mi")]
public string Mi { get; set; }
/// <summary>
/// Examples: "H5"
/// </summary>
[JsonProperty("cl")]
public string Cl { get; set; } = "H5";
/// <summary>
/// Examples: "1.0"
/// </summary>
[JsonProperty("sv")]
public string Sv { get; set; } = "1.0";
/// <summary>
/// Examples: "974da1cccc0cac50ba813dab918e10bc"
/// </summary>
[JsonProperty("jg")]
public string Jg { get; set; }
/// <summary>
/// Examples: "5095aad833017a5735e6b889f86185d5"
/// </summary>
[JsonProperty("fh")]
public string Fh { get; set; }
/// <summary>
/// Examples: [false,null,null,null]
/// </summary>
[JsonProperty("ifm")]
public List<object> Ifm { get; set; } = new List<object> { false, null, null, null };
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("ex")]
public string Ex { get; set; } = "";
/// <summary>
/// Examples: "off"
/// </summary>
[JsonProperty("dv")]
public string Dv { get; set; } = "off";
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("pv")]
public bool Pv { get; set; } = true;
/// <summary>
/// Examples: 1013
/// </summary>
[JsonProperty("qa")]
public int Qa { get; set; } = 1013;
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Request.User
{
public class IqiyiH5DfpSignRequest
{
[JsonProperty("dim")]
public string Dim { get; set; } = "";
[JsonProperty("plat")]
public string Plat { get; set; } = "H5";
[JsonProperty("ver")]
public string Ver { get; set; } = "1.0";
[JsonProperty("nifc")]
public string Nifc { get; set; } = "false";
[JsonProperty("sig")]
public string Sig { get; set; } = "";
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Constant;
using iqiyiWin.Util;
using Newtonsoft.Json;
namespace iqiyiWin.Request.User
{
public class IqiyiH5UserLoginRequest
{
[JsonProperty("email")]
public string Email { get; set; } = "";
[JsonProperty("area_code")]
public string AreaCode { get; set; } = "86";
[JsonProperty("passwd")]
public string Passwd { get; set; } = "";
[JsonProperty("verifyPhone")]
public string VerifyPhone { get; set; } = "1";
[JsonProperty("checkExist")]
public string CheckExist { get; set; } = "1";
[JsonProperty("fromurl")]
public string Fromurl { get; set; } = "https://movie.iqiyi.com/user/mine";
[JsonProperty("cookieVer")]
public string CookieVer { get; set; } = "1";
[JsonProperty("sports_account_merge")]
public string SportsAccountMerge { get; set; } = "1";
[JsonProperty("__NEW")]
public string NEW { get; set; } = "1";
[JsonProperty("nr")]
public string Nr { get; set; } = "2";
[JsonProperty("agenttype")]
public string Sgenttype { get; set; } = "12";
[JsonProperty("keep")]
public string Keep { get; set; } = "0";
[JsonProperty("dfp")]
public string Dfp { get; set; } = IqiyiVersion.Dfp();
[JsonProperty("env")]
public string Env { get; set; } = "";
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Response.User.Sign
{
public class SignResponse
{
[JsonProperty("code")]
public string Code { get; set; }
[JsonProperty("message")]
public string Message { get; set; }
[JsonProperty("result")]
public Result Result { get; set; }
[JsonProperty("ttl")]
public string Ttl { get; set; }
}
public class Result
{
/// <summary>
/// Examples: "e099824c06e6604b0f87b0d5cbea3a391627fb482adfc60d6b1b747a9204f6ded2"
/// </summary>
[JsonProperty("dfp")]
public string Dfp { get; set; }
/// <summary>
/// Examples: 1627978965036
/// </summary>
[JsonProperty("expireAt")]
public long ExpireAt { get; set; }
/// <summary>
/// Examples: 1295999
/// </summary>
[JsonProperty("ttl")]
public int Ttl { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iqiyiWin.Util
{
public class EnumsUtils
{
// 获取方法
public static string GetDescriptionByEnum(Enum enumValue)
{
string value = enumValue.ToString();
System.Reflection.FieldInfo field = enumValue.GetType().GetField(value);
object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false); //获取描述属性
if (objs.Length == 0) //当描述属性没有时,直接返回名称
return value;
DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
return descriptionAttribute.Description;
}
}
}
......@@ -18,5 +18,6 @@ namespace iqiyiWin.Util
/// Headers
/// </summary>
public WebHeaderCollection Headers { get; set; }
public CookieCollection Cookie { get; set; }
}
}
......@@ -240,12 +240,13 @@ namespace iqiyiWin.Util
}
}
public static HttpResult DoPostResult(string url, string data, IDictionary<string, string> headers, int timeout = 10000)
public static HttpResult DoPostResult(CookieContainer cookieContainer, string referer,string url, string data, IDictionary<string, string> headers, int timeout = 10000)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Referer = referer;
request.Method = "POST";
request.ContentType = JsonUtils.IsJsonData(data) ? "application/json" : "application/x-www-form-urlencoded";
request.CookieContainer = cookieContainer;
if (headers != null)
{
......@@ -279,7 +280,8 @@ namespace iqiyiWin.Util
HttpResult httpResult = new HttpResult()
{
Body = result,
Headers = response.Headers
Headers = response.Headers,
Cookie = response.Cookies
};
return httpResult;
}
......@@ -289,7 +291,6 @@ namespace iqiyiWin.Util
responseStream?.Close();
}
}
public static string DoPost(CookieContainer cookieContainer, string url, string data, IDictionary<string, string> headers, int timeout = 10000)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
......
......@@ -38,6 +38,82 @@ namespace iqiyiWin.Util
return encryptionAfterText;
}
public static string Encryption(string password)
{
var result = "";
var sCode = "function c(a){var b=f,c=b.biDivideByRadixPower(a,this.k-1),d=b.biMultiply(c,this.mu),e=b.biDivideByRadixPower(d,this.k+1),g=b.biModuloByRadixPower(a,this.k+1),h=b.biMultiply(e,this.modulus),i=b.biModuloByRadixPower(h,this.k+1),j=b.biSubtract(g,i);j.isNeg&&(j=b.biAdd(j,this.bkplus1));for(var k=b.biCompare(j,this.modulus)>=0;k;)j=b.biSubtract(j,this.modulus),k=b.biCompare(j,this.modulus)>=0;return j}function d(a,b){var c=f.biMultiply(a,b);return this.modulo(c)}function e(a,b){var c=new t;c.digits[0]=1;for(var d=a,e=b;;){if(0!=(1&e.digits[0])&&(c=this.multiplyMod(c,d)),e=f.biShiftRight(e,1),0==e.digits[0]&&0==f.biHighIndex(e))break;d=this.multiplyMod(d,d)}return c}var f,g={};'undefined'==typeof g.RSAUtils&&(f=g.RSAUtils={});var h,k,l,m,n=16,o=n,p=65536,q=p>>>1,r=p*p,s=p-1,t=g.BigInt=function(a){this.digits='boolean'==typeof a&&a===!0?null:k.slice(0),this.isNeg=!1};f.setMaxDigits=function(a){h=a,k=new Array(h);for(var b=0;b<k.length;b++)k[b]=0;l=new t,m=new t,m.digits[0]=1},f.setMaxDigits(20);var u=15;f.biFromNumber=function(a){var b=new t;b.isNeg=0>a,a=Math.abs(a);for(var c=0;a>0;)b.digits[c++]=a&s,a=Math.floor(a/p);return b};var v=f.biFromNumber(1e15);f.biFromDecimal=function(a){for(var b,c='-'==a.charAt(0),d=c?1:0;d<a.length&&'0'==a.charAt(d);)++d;if(d==a.length)b=new t;else{var e=a.length-d,g=e%u;for(0==g&&(g=u),b=f.biFromNumber(Number(a.substr(d,g))),d+=g;d<a.length;)b=f.biAdd(f.biMultiply(b,v),f.biFromNumber(Number(a.substr(d,u)))),d+=u;b.isNeg=c}return b},f.biCopy=function(a){var b=new t(!0);return b.digits=a.digits.slice(0),b.isNeg=a.isNeg,b},f.reverseStr=function(a){for(var b='',c=a.length-1;c>-1;--c)b+=a.charAt(c);return b};var w=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];f.biToString=function(a,b){var c=new t;c.digits[0]=b;for(var d=f.biDivideModulo(a,c),e=w[d[1].digits[0]];1==f.biCompare(d[0],l);)d=f.biDivideModulo(d[0],c),digit=d[1].digits[0],e+=w[d[1].digits[0]];return(a.isNeg?'-':'')+f.reverseStr(e)},f.biToDecimal=function(a){var b=new t;b.digits[0]=10;for(var c=f.biDivideModulo(a,b),d=String(c[1].digits[0]);1==f.biCompare(c[0],l);)c=f.biDivideModulo(c[0],b),d+=String(c[1].digits[0]);return(a.isNeg?'-':'')+f.reverseStr(d)};var x=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'];f.digitToHex=function(a){var b=15,c='';for(i=0;4>i;++i)c+=x[a&b],a>>>=4;return f.reverseStr(c)},f.biToHex=function(a){var b='';f.biHighIndex(a);for(var c=f.biHighIndex(a);c>-1;--c)b+=f.digitToHex(a.digits[c]);return b},f.charToHex=function(a){var b,c=48,d=c+9,e=97,f=e+25,g=65,h=90;return b=a>=c&&d>=a?a-c:a>=g&&h>=a?10+a-g:a>=e&&f>=a?10+a-e:0},f.hexToDigit=function(a){for(var b=0,c=Math.min(a.length,4),d=0;c>d;++d)b<<=4,b|=f.charToHex(a.charCodeAt(d));return b},f.biFromHex=function(a){for(var b=new t,c=a.length,d=c,e=0;d>0;d-=4,++e)b.digits[e]=f.hexToDigit(a.substr(Math.max(d-4,0),Math.min(d,4)));return b},f.biFromString=function(a,b){var c='-'==a.charAt(0),d=c?1:0,e=new t,g=new t;g.digits[0]=1;for(var h=a.length-1;h>=d;h--){var i=a.charCodeAt(h),j=f.charToHex(i),k=f.biMultiplyDigit(g,j);e=f.biAdd(e,k),g=f.biMultiplyDigit(g,b)}return e.isNeg=c,e},f.biDump=function(a){return(a.isNeg?'-':'')+a.digits.join(' ')},f.biAdd=function(a,b){var c;if(a.isNeg!=b.isNeg)b.isNeg=!b.isNeg,c=f.biSubtract(a,b),b.isNeg=!b.isNeg;else{c=new t;for(var d,e=0,g=0;g<a.digits.length;++g)d=a.digits[g]+b.digits[g]+e,c.digits[g]=d%p,e=Number(d>=p);c.isNeg=a.isNeg}return c},f.biSubtract=function(a,b){var c;if(a.isNeg!=b.isNeg)b.isNeg=!b.isNeg,c=f.biAdd(a,b),b.isNeg=!b.isNeg;else{c=new t;var d,e;e=0;for(var g=0;g<a.digits.length;++g)d=a.digits[g]-b.digits[g]+e,c.digits[g]=d%p,c.digits[g]<0&&(c.digits[g]+=p),e=0-Number(0>d);if(-1==e){e=0;for(var g=0;g<a.digits.length;++g)d=0-c.digits[g]+e,c.digits[g]=d%p,c.digits[g]<0&&(c.digits[g]+=p),e=0-Number(0>d);c.isNeg=!a.isNeg}else c.isNeg=a.isNeg}return c},f.biHighIndex=function(a){for(var b=a.digits.length-1;b>0&&0==a.digits[b];)--b;return b},f.biNumBits=function(a){var b,c=f.biHighIndex(a),d=a.digits[c],e=(c+1)*o;for(b=e;b>e-o&&0==(32768&d);--b)d<<=1;return b},f.biMultiply=function(a,b){for(var c,d,e,g=new t,h=f.biHighIndex(a),i=f.biHighIndex(b),k=0;i>=k;++k){for(c=0,e=k,j=0;h>=j;++j,++e)d=g.digits[e]+a.digits[j]*b.digits[k]+c,g.digits[e]=d&s,c=d>>>n;g.digits[k+h+1]=c}return g.isNeg=a.isNeg!=b.isNeg,g},f.biMultiplyDigit=function(a,b){var c,d,e;result=new t,c=f.biHighIndex(a),d=0;for(var g=0;c>=g;++g)e=result.digits[g]+a.digits[g]*b+d,result.digits[g]=e&s,d=e>>>n;return result.digits[1+c]=d,result},f.arrayCopy=function(a,b,c,d,e){for(var f=Math.min(b+e,a.length),g=b,h=d;f>g;++g,++h)c[h]=a[g]};var y=[0,32768,49152,57344,61440,63488,64512,65024,65280,65408,65472,65504,65520,65528,65532,65534,65535];f.biShiftLeft=function(a,b){var c=Math.floor(b/o),d=new t;f.arrayCopy(a.digits,0,d.digits,c,d.digits.length-c);for(var e=b%o,g=o-e,h=d.digits.length-1,i=h-1;h>0;--h,--i)d.digits[h]=d.digits[h]<<e&s|(d.digits[i]&y[e])>>>g;return d.digits[0]=d.digits[h]<<e&s,d.isNeg=a.isNeg,d};var z=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];f.biShiftRight=function(a,b){var c=Math.floor(b/o),d=new t;f.arrayCopy(a.digits,c,d.digits,0,a.digits.length-c);for(var e=b%o,g=o-e,h=0,i=h+1;h<d.digits.length-1;++h,++i)d.digits[h]=d.digits[h]>>>e|(d.digits[i]&z[e])<<g;return d.digits[d.digits.length-1]>>>=e,d.isNeg=a.isNeg,d},f.biMultiplyByRadixPower=function(a,b){var c=new t;return f.arrayCopy(a.digits,0,c.digits,b,c.digits.length-b),c},f.biDivideByRadixPower=function(a,b){var c=new t;return f.arrayCopy(a.digits,b,c.digits,0,c.digits.length-b),c},f.biModuloByRadixPower=function(a,b){var c=new t;return f.arrayCopy(a.digits,0,c.digits,0,b),c},f.biCompare=function(a,b){if(a.isNeg!=b.isNeg)return 1-2*Number(a.isNeg);for(var c=a.digits.length-1;c>=0;--c)if(a.digits[c]!=b.digits[c])return a.isNeg?1-2*Number(a.digits[c]>b.digits[c]):1-2*Number(a.digits[c]<b.digits[c]);return 0},f.biDivideModulo=function(a,b){var c,d,e=f.biNumBits(a),g=f.biNumBits(b),h=b.isNeg;if(g>e)return a.isNeg?(c=f.biCopy(m),c.isNeg=!b.isNeg,a.isNeg=!1,b.isNeg=!1,d=biSubtract(b,a),a.isNeg=!0,b.isNeg=h):(c=new t,d=f.biCopy(a)),[c,d];c=new t,d=a;for(var i=Math.ceil(g/o)-1,j=0;b.digits[i]<q;)b=f.biShiftLeft(b,1),++j,++g,i=Math.ceil(g/o)-1;d=f.biShiftLeft(d,j),e+=j;for(var k=Math.ceil(e/o)-1,l=f.biMultiplyByRadixPower(b,k-i);-1!=f.biCompare(d,l);)++c.digits[k-i],d=f.biSubtract(d,l);for(var n=k;n>i;--n){var u=n>=d.digits.length?0:d.digits[n],v=n-1>=d.digits.length?0:d.digits[n-1],w=n-2>=d.digits.length?0:d.digits[n-2],x=i>=b.digits.length?0:b.digits[i],y=i-1>=b.digits.length?0:b.digits[i-1];c.digits[n-i-1]=u==x?s:Math.floor((u*p+v)/x);for(var z=c.digits[n-i-1]*(x*p+y),A=u*r+(v*p+w);z>A;)--c.digits[n-i-1],z=c.digits[n-i-1]*(x*p|y),A=u*p*p+(v*p+w);l=f.biMultiplyByRadixPower(b,n-i-1),d=f.biSubtract(d,f.biMultiplyDigit(l,c.digits[n-i-1])),d.isNeg&&(d=f.biAdd(d,l),--c.digits[n-i-1])}return d=f.biShiftRight(d,j),c.isNeg=a.isNeg!=h,a.isNeg&&(c=h?f.biAdd(c,m):f.biSubtract(c,m),b=f.biShiftRight(b,j),d=f.biSubtract(b,d)),0==d.digits[0]&&0==f.biHighIndex(d)&&(d.isNeg=!1),[c,d]},f.biDivide=function(a,b){return f.biDivideModulo(a,b)[0]},f.biModulo=function(a,b){return f.biDivideModulo(a,b)[1]},f.biMultiplyMod=function(a,b,c){return f.biModulo(f.biMultiply(a,b),c)},f.biPow=function(a,b){for(var c=m,d=a;;){if(0!=(1&b)&&(c=f.biMultiply(c,d)),b>>=1,0==b)break;d=f.biMultiply(d,d)}return c},f.biPowMod=function(a,b,c){for(var d=m,e=a,g=b;;){if(0!=(1&g.digits[0])&&(d=f.biMultiplyMod(d,e,c)),g=f.biShiftRight(g,1),0==g.digits[0]&&0==f.biHighIndex(g))break;e=f.biMultiplyMod(e,e,c)}return d},g.BarrettMu=function(a){this.modulus=f.biCopy(a),this.k=f.biHighIndex(this.modulus)+1;var b=new t;b.digits[2*this.k]=1,this.mu=f.biDivide(b,this.modulus),this.bkplus1=new t,this.bkplus1.digits[this.k+1]=1,this.modulo=c,this.multiplyMod=d,this.powMod=e};var A=function(a,b,c){var d=f;this.e=d.biFromHex(a),this.d=d.biFromHex(b),this.m=d.biFromHex(c),this.chunkSize=2*d.biHighIndex(this.m),this.radix=16,this.barrett=new g.BarrettMu(this.m)};f.getKeyPair=function(a,b,c){return new A(a,b,c)},'undefined'==typeof g.twoDigit&&(g.twoDigit=function(a){return(10>a?'0':'')+String(a)}),f.encryptedString=function(a,b){for(var c=[],d=b.length,e=0;d>e;)c[e]=b.charCodeAt(e),e++;for(;0!=c.length%a.chunkSize;)c[e++]=0;var g,h,i,j=c.length,k='';for(e=0;j>e;e+=a.chunkSize){for(i=new t,g=0,h=e;h<e+a.chunkSize;++g)i.digits[g]=c[h++],i.digits[g]+=c[h++]<<8;var l=a.barrett.powMod(i,a.e),m=16==a.radix?f.biToHex(l):f.biToString(l,a.radix);k+=m+' '}return k.substring(0,k.length-1)},f.decryptedString=function(a,b){var c,d,e,g=b.split(' '),h='';for(c=0;c<g.length;++c){var i;for(i=16==a.radix?f.biFromHex(g[c]):f.biFromString(g[c],a.radix),e=a.barrett.powMod(i,a.d),d=0;d<=f.biHighIndex(e);++d)h+=String.fromCharCode(255&e.digits[d],e.digits[d]>>8)}return 0==h.charCodeAt(h.length-1)&&(h=h.substring(0,h.length-1)),h},f.setMaxDigits(130);function rsaFun(e){var t='ab86b6371b5318aaa1d3c9e612a9f1264f372323c8c0f19875b5fc3b3fd3afcc1e5bec527aa94bfa85bffc157e4245aebda05389a5357b75115ac94f074aefcd',a='10001',n=g.RSAUtils.getKeyPair(a,'',t),i=g.RSAUtils.encryptedString(n,encodeURIComponent(e)).replace(/\\s/g,'-');return i;}";
var sExpression = $"rsaFun('{password}')";
MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
scriptControl.UseSafeSubset = true;
scriptControl.Language = "JScript";
scriptControl.AddCode(sCode);
try
{
result = scriptControl.Eval(sExpression).ToString();
}
catch (Exception ex)
{
string str = ex.Message;
}
return result;
}
public static string GetQC006()
{
var result = "";
var sCode = "function jm_r(e,t){var r=(65535&e)+(65535&t),n=(e>>16)+(t>>16)+(r>>16);return n<<16|65535&r}function jm_n(e,t){return e<<t|e>>>32-t}function jm_o(e,t,o,i,a,s){return jm_r(jm_n(jm_r(jm_r(t,e),jm_r(i,s)),a),o)}function jm_a(e,t,r,n,i,a,s){return jm_o(t&r|~t&n,e,t,i,a,s)}function jm_s(e,t,r,n,i,a,s){return jm_o(t&n|r&~n,e,t,i,a,s)}function jm_c(e,t,r,n,i,a,s){return jm_o(t^r^n,e,t,i,a,s)}function jm_u(e,t,r,n,i,a,s){return jm_o(r^(t|~n),e,t,i,a,s)}function jm_f(e,t){e[t>>5]|=128<<t%32,e[(t+64>>>9<<4)+14]=t;var n,o,i,f,l,d=1732584193,h=-271733879,p=-1732584194,g=271733878;for(n=0;n<e.length;n+=16)o=d,i=h,f=p,l=g,d=jm_a(d,h,p,g,e[n],7,-680876936),g=jm_a(g,d,h,p,e[n+1],12,-389564586),p=jm_a(p,g,d,h,e[n+2],17,606105819),h=jm_a(h,p,g,d,e[n+3],22,-1044525330),d=jm_a(d,h,p,g,e[n+4],7,-176418897),g=jm_a(g,d,h,p,e[n+5],12,1200080426),p=jm_a(p,g,d,h,e[n+6],17,-1473231341),h=jm_a(h,p,g,d,e[n+7],22,-45705983),d=jm_a(d,h,p,g,e[n+8],7,1770035416),g=jm_a(g,d,h,p,e[n+9],12,-1958414417),p=jm_a(p,g,d,h,e[n+10],17,-42063),h=jm_a(h,p,g,d,e[n+11],22,-1990404162),d=jm_a(d,h,p,g,e[n+12],7,1804603682),g=jm_a(g,d,h,p,e[n+13],12,-40341101),p=jm_a(p,g,d,h,e[n+14],17,-1502002290),h=jm_a(h,p,g,d,e[n+15],22,1236535329),d=jm_s(d,h,p,g,e[n+1],5,-165796510),g=jm_s(g,d,h,p,e[n+6],9,-1069501632),p=jm_s(p,g,d,h,e[n+11],14,643717713),h=jm_s(h,p,g,d,e[n],20,-373897302),d=jm_s(d,h,p,g,e[n+5],5,-701558691),g=jm_s(g,d,h,p,e[n+10],9,38016083),p=jm_s(p,g,d,h,e[n+15],14,-660478335),h=jm_s(h,p,g,d,e[n+4],20,-405537848),d=jm_s(d,h,p,g,e[n+9],5,568446438),g=jm_s(g,d,h,p,e[n+14],9,-1019803690),p=jm_s(p,g,d,h,e[n+3],14,-187363961),h=jm_s(h,p,g,d,e[n+8],20,1163531501),d=jm_s(d,h,p,g,e[n+13],5,-1444681467),g=jm_s(g,d,h,p,e[n+2],9,-51403784),p=jm_s(p,g,d,h,e[n+7],14,1735328473),h=jm_s(h,p,g,d,e[n+12],20,-1926607734),d=jm_c(d,h,p,g,e[n+5],4,-378558),g=jm_c(g,d,h,p,e[n+8],11,-2022574463),p=jm_c(p,g,d,h,e[n+11],16,1839030562),h=jm_c(h,p,g,d,e[n+14],23,-35309556),d=jm_c(d,h,p,g,e[n+1],4,-1530992060),g=jm_c(g,d,h,p,e[n+4],11,1272893353),p=jm_c(p,g,d,h,e[n+7],16,-155497632),h=jm_c(h,p,g,d,e[n+10],23,-1094730640),d=jm_c(d,h,p,g,e[n+13],4,681279174),g=jm_c(g,d,h,p,e[n],11,-358537222),p=jm_c(p,g,d,h,e[n+3],16,-722521979),h=jm_c(h,p,g,d,e[n+6],23,76029189),d=jm_c(d,h,p,g,e[n+9],4,-640364487),g=jm_c(g,d,h,p,e[n+12],11,-421815835),p=jm_c(p,g,d,h,e[n+15],16,530742520),h=jm_c(h,p,g,d,e[n+2],23,-995338651),d=jm_u(d,h,p,g,e[n],6,-198630844),g=jm_u(g,d,h,p,e[n+7],10,1126891415),p=jm_u(p,g,d,h,e[n+14],15,-1416354905),h=jm_u(h,p,g,d,e[n+5],21,-57434055),d=jm_u(d,h,p,g,e[n+12],6,1700485571),g=jm_u(g,d,h,p,e[n+3],10,-1894986606),p=jm_u(p,g,d,h,e[n+10],15,-1051523),h=jm_u(h,p,g,d,e[n+1],21,-2054922799),d=jm_u(d,h,p,g,e[n+8],6,1873313359),g=jm_u(g,d,h,p,e[n+15],10,-30611744),p=jm_u(p,g,d,h,e[n+6],15,-1560198380),h=jm_u(h,p,g,d,e[n+13],21,1309151649),d=jm_u(d,h,p,g,e[n+4],6,-145523070),g=jm_u(g,d,h,p,e[n+11],10,-1120210379),p=jm_u(p,g,d,h,e[n+2],15,718787259),h=jm_u(h,p,g,d,e[n+9],21,-343485551),d=jm_r(d,o),h=jm_r(h,i),p=jm_r(p,f),g=jm_r(g,l);return[d,h,p,g]}function jm_l(e){var t,r='';for(t=0;t<32*e.length;t+=8)r+=String.fromCharCode(e[t>>5]>>>t%32&255);return r}function jm_d(e){var t,r=[];for(r[(e.length>>2)-1]=void 0,t=0;t<r.length;t+=1)r[t]=0;for(t=0;t<8*e.length;t+=8)r[t>>5]|=(255&e.charCodeAt(t/8))<<t%32;return r}function jm_h(e){return jm_l(jm_f(jm_d(e),8*e.length))}function jm_p(e,t){var r,n,o=jm_d(e),i=[],a=[];for(i[15]=a[15]=void 0,o.length>16&&(o=jm_f(o,8*e.length)),r=0;r<16;r+=1)i[r]=909522486^o[r],a[r]=1549556828^o[r];return n=jm_f(i.concat(jm_d(t)),512+8*t.length),jm_l(jm_f(a.concat(n),640))}function jm_g(e){var t,r,n='0123456789abcdef',o='';for(r=0;r<e.length;r+=1)t=e.charCodeAt(r),o+=n.charAt(t>>>4&15)+n.charAt(15&t);return o}function jm_v(e){return unescape(encodeURIComponent(e))}function jm__(e){return jm_h(jm_v(e))}function jm_y(e){return jm_g(jm__(e))}function jm_m(e,t){return jm_p(jm_v(e),jm_v(t))}function jm_b(e,t){return jm_g(jm_m(e,t))}function iqiyi_md5(e,t,r){return t?r?jm_m(t,e):jm_b(t,e):r?jm__(e):jm_y(e)}function guid(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+'-'+e()+'-'+e()+'-'+e()+'-'+e()+e()+e()}function code_n(e){var t,r,n,o,i,a;for(n=e.length,r=0,t='';r<n;){if(o=255&e.charCodeAt(r++),r==n){t+=s.charAt(o>>2),t+=s.charAt((3&o)<<4),t+='==';break}if(i=e.charCodeAt(r++),r==n){t+=s.charAt(o>>2),t+=s.charAt((3&o)<<4|(240&i)>>4),t+=s.charAt((15&i)<<2),t+='=';break}a=e.charCodeAt(r++),t+=s.charAt(o>>2),t+=s.charAt((3&o)<<4|(240&i)>>4),t+=s.charAt((15&i)<<2|(192&a)>>6),t+=s.charAt(63&a)}return t}function code_o(e){var t,r,n,o,i,a,s;for(a=e.length,i=0,s='';i<a;){do t=c[255&e.charCodeAt(i++)];while(i<a&&t==-1);if(t==-1)break;do r=c[255&e.charCodeAt(i++)];while(i<a&&r==-1);if(r==-1)break;s+=String.fromCharCode(t<<2|(48&r)>>4);do{if(n=255&e.charCodeAt(i++),61==n)return s;n=c[n]}while(i<a&&n==-1);if(n==-1)break;s+=String.fromCharCode((15&r)<<4|(60&n)>>2);do{if(o=255&e.charCodeAt(i++),61==o)return s;o=c[o]}while(i<a&&o==-1);if(o==-1)break;s+=String.fromCharCode((3&n)<<6|o)}return s}function code_i(e){var t,r,n,o;for(t='',n=e.length,r=0;r<n;r++)o=e.charCodeAt(r),o>=1&&o<=127?t+=e.charAt(r):o>2047?(t+=String.fromCharCode(224|o>>12&15),t+=String.fromCharCode(128|o>>6&63),t+=String.fromCharCode(128|o>>0&63)):(t+=String.fromCharCode(192|o>>6&31),t+=String.fromCharCode(128|o>>0&63));return t}function code_a(e){var t,r,n,o,i,a;for(t='',n=e.length,r=0;r<n;)switch(o=e.charCodeAt(r++),o>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=e.charAt(r-1);break;case 12:case 13:i=e.charCodeAt(r++),t+=String.fromCharCode((31&o)<<6|63&i);break;case 14:i=e.charCodeAt(r++),a=e.charCodeAt(r++),t+=String.fromCharCode((15&o)<<12|(63&i)<<6|(63&a)<<0)}return t}var s='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',c=new Array((-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),62,(-1),(-1),(-1),63,52,53,54,55,56,57,58,59,60,61,(-1),(-1),(-1),(-1),(-1),(-1),(-1),0,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,(-1),(-1),(-1),(-1),(-1),(-1),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,(-1),(-1),(-1),(-1),(-1));function encode(e){return code_n(code_i(e))};function decode(e){return code_a(code_o(e))};var result='';var QC006='';function getQC006(){QC006=iqiyi_md5('Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'+Math.random()+1*(new Date).getTime());return QC006};function run(QC005,QC006){var dim='{\"jn\":\"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1\",\"cm\":\"zh-CN\",\"gu\":24,\"uf\":3,\"jr\":[812,375],\"di\":[812,375],\"zp\":-480,\"uh\":1,\"sh\":1,\"he\":1,\"zo\":1,\"rv\":\"unknown\",\"nx\":\"Win32\",\"iw\":\"unknown\",\"qm\":[],\"wr\":\"426024a3c7deb049f74bd1e11faae6cd\",\"wg\":\"cba78d7284ded1f76670dceff67d260d\",\"fk\":false,\"rg\":false,\"xy\":false,\"jm\":true,\"ba\":true,\"tm\":[1,true,true],\"cc\":6,\"vt\":true,\"rr\":\"ANGLE (Intel, Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.8935)\",\"vd\":\"Google Inc. (Intel)\",\"wv\":\"WebGL 1.0 (OpenGL ES 2.0 Chromium)\",\"hl\":false,\"ht\":\"7,8\",\"au\":true,\"mi\":\"'+guid()+'\",\"cl\":\"H5\",\"sv\":\"1.0\",\"jg\":\"'+QC005+'\",\"fh\":\"'+QC006+'\",\"ifm\":[false,null,null,null],\"ex\":\"\",\"dv\":\"off\",\"pv\":true,\"qa\":'+(parseInt(Math.random()*100)+950)+'}';var result=encode(dim);return result};";
var sExpression = $"getQC006()";
MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
scriptControl.UseSafeSubset = true;
scriptControl.Language = "JScript";
scriptControl.AddCode(sCode);
try
{
result = scriptControl.Eval(sExpression).ToString();
}
catch (Exception ex)
{
string str = ex.Message;
}
return result;
}
public static string GetDim(string QC005, string QC006,string guid)
{
var result = "";
var sCode = "function jm_r(e,t){var r=(65535&e)+(65535&t),n=(e>>16)+(t>>16)+(r>>16);return n<<16|65535&r}function jm_n(e,t){return e<<t|e>>>32-t}function jm_o(e,t,o,i,a,s){return jm_r(jm_n(jm_r(jm_r(t,e),jm_r(i,s)),a),o)}function jm_a(e,t,r,n,i,a,s){return jm_o(t&r|~t&n,e,t,i,a,s)}function jm_s(e,t,r,n,i,a,s){return jm_o(t&n|r&~n,e,t,i,a,s)}function jm_c(e,t,r,n,i,a,s){return jm_o(t^r^n,e,t,i,a,s)}function jm_u(e,t,r,n,i,a,s){return jm_o(r^(t|~n),e,t,i,a,s)}function jm_f(e,t){e[t>>5]|=128<<t%32,e[(t+64>>>9<<4)+14]=t;var n,o,i,f,l,d=1732584193,h=-271733879,p=-1732584194,g=271733878;for(n=0;n<e.length;n+=16)o=d,i=h,f=p,l=g,d=jm_a(d,h,p,g,e[n],7,-680876936),g=jm_a(g,d,h,p,e[n+1],12,-389564586),p=jm_a(p,g,d,h,e[n+2],17,606105819),h=jm_a(h,p,g,d,e[n+3],22,-1044525330),d=jm_a(d,h,p,g,e[n+4],7,-176418897),g=jm_a(g,d,h,p,e[n+5],12,1200080426),p=jm_a(p,g,d,h,e[n+6],17,-1473231341),h=jm_a(h,p,g,d,e[n+7],22,-45705983),d=jm_a(d,h,p,g,e[n+8],7,1770035416),g=jm_a(g,d,h,p,e[n+9],12,-1958414417),p=jm_a(p,g,d,h,e[n+10],17,-42063),h=jm_a(h,p,g,d,e[n+11],22,-1990404162),d=jm_a(d,h,p,g,e[n+12],7,1804603682),g=jm_a(g,d,h,p,e[n+13],12,-40341101),p=jm_a(p,g,d,h,e[n+14],17,-1502002290),h=jm_a(h,p,g,d,e[n+15],22,1236535329),d=jm_s(d,h,p,g,e[n+1],5,-165796510),g=jm_s(g,d,h,p,e[n+6],9,-1069501632),p=jm_s(p,g,d,h,e[n+11],14,643717713),h=jm_s(h,p,g,d,e[n],20,-373897302),d=jm_s(d,h,p,g,e[n+5],5,-701558691),g=jm_s(g,d,h,p,e[n+10],9,38016083),p=jm_s(p,g,d,h,e[n+15],14,-660478335),h=jm_s(h,p,g,d,e[n+4],20,-405537848),d=jm_s(d,h,p,g,e[n+9],5,568446438),g=jm_s(g,d,h,p,e[n+14],9,-1019803690),p=jm_s(p,g,d,h,e[n+3],14,-187363961),h=jm_s(h,p,g,d,e[n+8],20,1163531501),d=jm_s(d,h,p,g,e[n+13],5,-1444681467),g=jm_s(g,d,h,p,e[n+2],9,-51403784),p=jm_s(p,g,d,h,e[n+7],14,1735328473),h=jm_s(h,p,g,d,e[n+12],20,-1926607734),d=jm_c(d,h,p,g,e[n+5],4,-378558),g=jm_c(g,d,h,p,e[n+8],11,-2022574463),p=jm_c(p,g,d,h,e[n+11],16,1839030562),h=jm_c(h,p,g,d,e[n+14],23,-35309556),d=jm_c(d,h,p,g,e[n+1],4,-1530992060),g=jm_c(g,d,h,p,e[n+4],11,1272893353),p=jm_c(p,g,d,h,e[n+7],16,-155497632),h=jm_c(h,p,g,d,e[n+10],23,-1094730640),d=jm_c(d,h,p,g,e[n+13],4,681279174),g=jm_c(g,d,h,p,e[n],11,-358537222),p=jm_c(p,g,d,h,e[n+3],16,-722521979),h=jm_c(h,p,g,d,e[n+6],23,76029189),d=jm_c(d,h,p,g,e[n+9],4,-640364487),g=jm_c(g,d,h,p,e[n+12],11,-421815835),p=jm_c(p,g,d,h,e[n+15],16,530742520),h=jm_c(h,p,g,d,e[n+2],23,-995338651),d=jm_u(d,h,p,g,e[n],6,-198630844),g=jm_u(g,d,h,p,e[n+7],10,1126891415),p=jm_u(p,g,d,h,e[n+14],15,-1416354905),h=jm_u(h,p,g,d,e[n+5],21,-57434055),d=jm_u(d,h,p,g,e[n+12],6,1700485571),g=jm_u(g,d,h,p,e[n+3],10,-1894986606),p=jm_u(p,g,d,h,e[n+10],15,-1051523),h=jm_u(h,p,g,d,e[n+1],21,-2054922799),d=jm_u(d,h,p,g,e[n+8],6,1873313359),g=jm_u(g,d,h,p,e[n+15],10,-30611744),p=jm_u(p,g,d,h,e[n+6],15,-1560198380),h=jm_u(h,p,g,d,e[n+13],21,1309151649),d=jm_u(d,h,p,g,e[n+4],6,-145523070),g=jm_u(g,d,h,p,e[n+11],10,-1120210379),p=jm_u(p,g,d,h,e[n+2],15,718787259),h=jm_u(h,p,g,d,e[n+9],21,-343485551),d=jm_r(d,o),h=jm_r(h,i),p=jm_r(p,f),g=jm_r(g,l);return[d,h,p,g]}function jm_l(e){var t,r='';for(t=0;t<32*e.length;t+=8)r+=String.fromCharCode(e[t>>5]>>>t%32&255);return r}function jm_d(e){var t,r=[];for(r[(e.length>>2)-1]=void 0,t=0;t<r.length;t+=1)r[t]=0;for(t=0;t<8*e.length;t+=8)r[t>>5]|=(255&e.charCodeAt(t/8))<<t%32;return r}function jm_h(e){return jm_l(jm_f(jm_d(e),8*e.length))}function jm_p(e,t){var r,n,o=jm_d(e),i=[],a=[];for(i[15]=a[15]=void 0,o.length>16&&(o=jm_f(o,8*e.length)),r=0;r<16;r+=1)i[r]=909522486^o[r],a[r]=1549556828^o[r];return n=jm_f(i.concat(jm_d(t)),512+8*t.length),jm_l(jm_f(a.concat(n),640))}function jm_g(e){var t,r,n='0123456789abcdef',o='';for(r=0;r<e.length;r+=1)t=e.charCodeAt(r),o+=n.charAt(t>>>4&15)+n.charAt(15&t);return o}function jm_v(e){return unescape(encodeURIComponent(e))}function jm__(e){return jm_h(jm_v(e))}function jm_y(e){return jm_g(jm__(e))}function jm_m(e,t){return jm_p(jm_v(e),jm_v(t))}function jm_b(e,t){return jm_g(jm_m(e,t))}function iqiyi_md5(e,t,r){return t?r?jm_m(t,e):jm_b(t,e):r?jm__(e):jm_y(e)}function guid(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+'-'+e()+'-'+e()+'-'+e()+'-'+e()+e()+e()}function code_n(e){var t,r,n,o,i,a;for(n=e.length,r=0,t='';r<n;){if(o=255&e.charCodeAt(r++),r==n){t+=s.charAt(o>>2),t+=s.charAt((3&o)<<4),t+='==';break}if(i=e.charCodeAt(r++),r==n){t+=s.charAt(o>>2),t+=s.charAt((3&o)<<4|(240&i)>>4),t+=s.charAt((15&i)<<2),t+='=';break}a=e.charCodeAt(r++),t+=s.charAt(o>>2),t+=s.charAt((3&o)<<4|(240&i)>>4),t+=s.charAt((15&i)<<2|(192&a)>>6),t+=s.charAt(63&a)}return t}function code_o(e){var t,r,n,o,i,a,s;for(a=e.length,i=0,s='';i<a;){do t=c[255&e.charCodeAt(i++)];while(i<a&&t==-1);if(t==-1)break;do r=c[255&e.charCodeAt(i++)];while(i<a&&r==-1);if(r==-1)break;s+=String.fromCharCode(t<<2|(48&r)>>4);do{if(n=255&e.charCodeAt(i++),61==n)return s;n=c[n]}while(i<a&&n==-1);if(n==-1)break;s+=String.fromCharCode((15&r)<<4|(60&n)>>2);do{if(o=255&e.charCodeAt(i++),61==o)return s;o=c[o]}while(i<a&&o==-1);if(o==-1)break;s+=String.fromCharCode((3&n)<<6|o)}return s}function code_i(e){var t,r,n,o;for(t='',n=e.length,r=0;r<n;r++)o=e.charCodeAt(r),o>=1&&o<=127?t+=e.charAt(r):o>2047?(t+=String.fromCharCode(224|o>>12&15),t+=String.fromCharCode(128|o>>6&63),t+=String.fromCharCode(128|o>>0&63)):(t+=String.fromCharCode(192|o>>6&31),t+=String.fromCharCode(128|o>>0&63));return t}function code_a(e){var t,r,n,o,i,a;for(t='',n=e.length,r=0;r<n;)switch(o=e.charCodeAt(r++),o>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=e.charAt(r-1);break;case 12:case 13:i=e.charCodeAt(r++),t+=String.fromCharCode((31&o)<<6|63&i);break;case 14:i=e.charCodeAt(r++),a=e.charCodeAt(r++),t+=String.fromCharCode((15&o)<<12|(63&i)<<6|(63&a)<<0)}return t}var s='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',c=new Array((-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),(-1),62,(-1),(-1),(-1),63,52,53,54,55,56,57,58,59,60,61,(-1),(-1),(-1),(-1),(-1),(-1),(-1),0,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,(-1),(-1),(-1),(-1),(-1),(-1),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,(-1),(-1),(-1),(-1),(-1));function encode(e){return code_n(code_i(e))};function decode(e){return code_a(code_o(e))};var result='';var QC006='';function getQC006(){QC006=iqiyi_md5('Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'+Math.random()+1*(new Date).getTime());return QC006};function run(QC005,QC006){var dim='{\"jn\":\"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1\",\"cm\":\"zh-CN\",\"gu\":24,\"uf\":3,\"jr\":[812,375],\"di\":[812,375],\"zp\":-480,\"uh\":1,\"sh\":1,\"he\":1,\"zo\":1,\"rv\":\"unknown\",\"nx\":\"Win32\",\"iw\":\"unknown\",\"qm\":[],\"wr\":\"426024a3c7deb049f74bd1e11faae6cd\",\"wg\":\"cba78d7284ded1f76670dceff67d260d\",\"fk\":false,\"rg\":false,\"xy\":false,\"jm\":true,\"ba\":true,\"tm\":[1,true,true],\"cc\":6,\"vt\":true,\"rr\":\"ANGLE (Intel, Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.100.8935)\",\"vd\":\"Google Inc. (Intel)\",\"wv\":\"WebGL 1.0 (OpenGL ES 2.0 Chromium)\",\"hl\":false,\"ht\":\"7,8\",\"au\":true,\"mi\":\"'+guid()+'\",\"cl\":\"H5\",\"sv\":\"1.0\",\"jg\":\"'+QC005+'\",\"fh\":\"'+QC006+'\",\"ifm\":[false,null,null,null],\"ex\":\"\",\"dv\":\"off\",\"pv\":true,\"qa\":'+(parseInt(Math.random()*100)+950)+'}';var result=encode(dim);return result};";
var sExpression = $"run('{QC005}','{QC006}')";
MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
scriptControl.UseSafeSubset = true;
scriptControl.Language = "JScript";
scriptControl.AddCode(sCode);
try
{
result = scriptControl.Eval(sExpression).ToString();
}
catch (Exception ex)
{
string str = ex.Message;
}
return result;
}
public static string H5Sign(string dim)
{
var result = "";
var sCode = "function iqiyi_sha1(e,t,r){var n,o,i,a,s,p,g,v,b,w=0,x=[],S=0,E=!1,A=[],k=[],T=!1;if(r=r||{},this.shatype=e,n=r.encoding||'UTF8',b=r.numRounds||1,i=h(t,n),b!==parseInt(b,10)||1>b)throw Error(\"numRounds must a integer >= 1\");if('SHA-1'!==e)throw Error(\"Chosen SHA variant is not supported\");s=512,p=y,g=m,a=160,v=function(e){return e.slice()},o=_(e),this.setHMACKey=function(t,r,i){var c;if(!0===E)throw Error(\"HMAC key already set\");if(!0===T)throw Error(\"Cannot set HMAC key after calling update\");if(n=(i||{}).encoding||\"UTF8\",r=h(r,n)(t),t=r.binLen,r=r.value,c=s>>>3,i=c/4-1,c<t/8){for(r=g(r,t,0,_(e),a);r.length<=i;)r.push(0);r[i]&=4294967040}else if(c>t/8){for(;r.length<=i;)r.push(0);r[i]&=4294967040}for(t=0;t<=i;t+=1)A[t]=909522486^r[t],k[t]=1549556828^r[t];o=p(A,o),w=s,E=!0},this.update=function(e){var t,r,n,a=0,c=s>>>5;for(t=i(e,x,S),e=t.binLen,r=t.value,t=e>>>5,n=0;n<t;n+=c)a+s<=e&&(o=p(r.slice(n,n+c),o),a+=s);w+=a,x=r.slice(a>>>5),S=e%s,T=!0},this.getHash=function(t,r){var n,i,s,h;if(!0===E)throw Error(\"Cannot call getHash after setting HMAC key\");switch(s=d(r),t){case\"HEX\":n=function(e){return c(e,a,s)};break;case\"B64\":n=function(e){return u(e,a,s)};break;case\"BYTES\":n=function(e){return f(e,a)};break;case\"ARRAYBUFFER\":try{i=new ArrayBuffer(0)}catch(p){throw Error(\"ARRAYBUFFER not supported by this environment\")}n=function(e){return l(e,a)};break;default:throw Error(\"format must be HEX, B64, BYTES, or ARRAYBUFFER\")}for(h=g(x.slice(),S,w,v(o),a),i=1;i<b;i+=1)h=g(h,a,0,_(e),a);return n(h)},this.getHMAC=function(t,r){var n,i,h,y;if(!1===E)throw Error(\"Cannot call getHMAC without first setting HMAC key\");switch(h=d(r),t){case\"HEX\":n=function(e){return c(e,a,h)};break;case\"B64\":n=function(e){return u(e,a,h)};break;case\"BYTES\":n=function(e){return f(e,a)};break;case\"ARRAYBUFFER\":try{n=new ArrayBuffer(0)}catch(m){throw Error(\"ARRAYBUFFER not supported by this environment\")}n=function(e){return l(e,a)};break;default:throw Error(\"outputFormat must be HEX, B64, BYTES, or ARRAYBUFFER\")}return i=g(x.slice(),S,w,v(o),a),y=p(k,_(e||this.shatype)),y=g(i,a,s,y,a),n(y)}}function o(e,t,r){var n,o,i,a,s,c=e.length;if(t=t||[0],r=r||0,s=r>>>3,0!==c%2)throw Error(\"String of HEX type must be in byte increments\");for(n=0;n<c;n+=2){if(o=parseInt(e.substr(n,2),16),isNaN(o))throw Error(\"String of HEX type contains invalid characters\");for(a=(n>>>1)+s,i=a>>>2;t.length<=i;)t.push(0);t[i]|=o<<8*(3-a%4)}return{value:t,binLen:4*c+r}}function i(e,t,r){var n,o,i,a,s=[],s=t||[0];for(r=r||0,o=r>>>3,n=0;n<e.length;n+=1)t=e.charCodeAt(n),a=n+o,i=a>>>2,s.length<=i&&s.push(0),s[i]|=t<<8*(3-a%4);return{value:s,binLen:8*e.length+r}}function a(e,t,r){var n,o,i,a,s,c,u=[],f=0,u=t||[0];if(r=r||0,t=r>>>3,-1===e.search(/^[a-zA-Z0-9=+\\/]+$/))throw Error(\"Invalid character in base-64 string\");if(o=e.indexOf(\"=\"),e=e.replace(/\\=/g,\"\"),-1!==o&&o<e.length)throw Error(\"Invalid '=' found in base-64 string\");for(o=0;o<e.length;o+=4){for(s=e.substr(o,4),i=a=0;i<s.length;i+=1)n=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".indexOf(s[i]),a|=n<<18-6*i;for(i=0;i<s.length-1;i+=1){for(c=f+t,n=c>>>2;u.length<=n;)u.push(0);u[n]|=(a>>>16-8*i&255)<<8*(3-c%4),f+=1}}return{value:u,binLen:8*f+r}}function s(e,t,r){var n,o,i,a=[],a=t||[0];for(r=r||0,n=r>>>3,t=0;t<e.byteLength;t+=1)i=t+n,o=i>>>2,a.length<=o&&a.push(0),a[o]|=e[t]<<8*(3-i%4);return{value:a,binLen:8*e.byteLength+r}}function c(e,t,r){var n=\"\";t/=8;var o,i;for(o=0;o<t;o+=1)i=e[o>>>2]>>>8*(3-o%4),n+=\"0123456789abcdef\".charAt(i>>>4&15)+\"0123456789abcdef\".charAt(15&i);return r.outputUpper?n.toUpperCase():n}function u(e,t,r){var n,o,i,a=\"\",s=t/8;for(n=0;n<s;n+=3)for(o=n+1<s?e[n+1>>>2]:0,i=n+2<s?e[n+2>>>2]:0,i=(e[n>>>2]>>>8*(3-n%4)&255)<<16|(o>>>8*(3-(n+1)%4)&255)<<8|i>>>8*(3-(n+2)%4)&255,o=0;4>o;o+=1)a+=8*n+6*o<=t?\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".charAt(i>>>6*(3-o)&63):r.b64Pad;return a}function f(e,t){var r,n,o=\"\",i=t/8;for(r=0;r<i;r+=1)n=e[r>>>2]>>>8*(3-r%4)&255,o+=String.fromCharCode(n);return o}function l(e,t){var r,n=t/8,o=new ArrayBuffer(n);for(r=0;r<n;r+=1)o[r]=e[r>>>2]>>>8*(3-r%4)&255;return o}function d(e){var t={outputUpper:!1,b64Pad:\"=\",shakeLen:-1};if(e=e||{},t.outputUpper=e.outputUpper||!1,!0===e.hasOwnProperty(\"b64Pad\")&&(t.b64Pad=e.b64Pad),\"boolean\"!=typeof t.outputUpper)throw Error(\"Invalid outputUpper formatting option\");if(\"string\"!=typeof t.b64Pad)throw Error(\"Invalid b64Pad formatting option\");return t}function h(e,t){var r;switch(t){case\"UTF8\":case\"UTF16BE\":case\"UTF16LE\":break;default:throw Error(\"encoding must be UTF8, UTF16BE, or UTF16LE\")}switch(e){case\"HEX\":r=o;break;case\"TEXT\":r=function(e,r,n){var o,i,a,s,c,u=[],f=[],l=0,u=r||[0];if(r=n||0,a=r>>>3,\"UTF8\"===t)for(o=0;o<e.length;o+=1)for(n=e.charCodeAt(o),f=[],128>n?f.push(n):2048>n?(f.push(192|n>>>6),f.push(128|63&n)):55296>n||57344<=n?f.push(224|n>>>12,128|n>>>6&63,128|63&n):(o+=1,n=65536+((1023&n)<<10|1023&e.charCodeAt(o)),f.push(240|n>>>18,128|n>>>12&63,128|n>>>6&63,128|63&n)),i=0;i<f.length;i+=1){for(c=l+a,s=c>>>2;u.length<=s;)u.push(0);u[s]|=f[i]<<8*(3-c%4),l+=1}else if(\"UTF16BE\"===t||\"UTF16LE\"===t)for(o=0;o<e.length;o+=1){for(n=e.charCodeAt(o),\"UTF16LE\"===t&&(i=255&n,n=i<<8|n>>>8),c=l+a,s=c>>>2;u.length<=s;)u.push(0);u[s]|=n<<8*(2-c%4),l+=2}return{value:u,binLen:8*l+r}};break;case\"B64\":r=a;break;case\"BYTES\":r=i;break;case\"ARRAYBUFFER\":try{r=new ArrayBuffer(0)}catch(n){throw Error(\"ARRAYBUFFER not supported by this environment\")}r=s;break;default:throw Error(\"format must be HEX, TEXT, B64, BYTES, or ARRAYBUFFER\")}return r}function p(e,t){return e<<t|e>>>32-t}function g(e,t){var r=(65535&e)+(65535&t);return((e>>>16)+(t>>>16)+(r>>>16)&65535)<<16|65535&r}function v(e,t,r,n,o){var i=(65535&e)+(65535&t)+(65535&r)+(65535&n)+(65535&o);return((e>>>16)+(t>>>16)+(r>>>16)+(n>>>16)+(o>>>16)+(i>>>16)&65535)<<16|65535&i}function _(e){var t=[];if(\"SHA-1\"!==e)throw Error(\"No SHA variants supported\");return t=[1732584193,4023233417,2562383102,271733878,3285377520]}function y(e,t){var r,n,o,i,a,s,c,u=[];for(r=t[0],n=t[1],o=t[2],i=t[3],a=t[4],c=0;80>c;c+=1)u[c]=16>c?e[c]:p(u[c-3]^u[c-8]^u[c-14]^u[c-16],1),s=20>c?v(p(r,5),n&o^~n&i,a,1518500249,u[c]):40>c?v(p(r,5),n^o^i,a,1859775393,u[c]):60>c?v(p(r,5),n&o^n&i^o&i,a,2400959708,u[c]):v(p(r,5),n^o^i,a,3395469782,u[c]),a=i,i=o,o=p(n,30),n=r,r=s;return t[0]=g(r,t[0]),t[1]=g(n,t[1]),t[2]=g(o,t[2]),t[3]=g(i,t[3]),t[4]=g(a,t[4]),t}function m(e,t,r,n){var o;for(o=(t+65>>>9<<4)+15;e.length<=o;)e.push(0);for(e[t>>>5]|=128<<24-t%32,t+=r,e[o]=4294967295&t,e[o-1]=t/4294967296|0,t=e.length,o=0;o<t;o+=16)n=y(e.slice(o,o+16),n);return n}function run(e){var t=new iqiyi_sha1('SHA-1','TEXT');return t.setHMACKey('eade56028e252b77f7a0b8792e58b9cc','TEXT'),t.update(e),t.getHMAC('HEX')}";
var sExpression = $"run('{dim}')";
MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
scriptControl.UseSafeSubset = true;
scriptControl.Language = "JScript";
scriptControl.AddCode(sCode);
try
{
result = scriptControl.Eval(sExpression).ToString();
}
catch (Exception ex)
{
string str = ex.Message;
}
return result;
}
}
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using iqiyiWin.Enums;
using iqiyiWin.Model;
using NLog;
namespace iqiyiWin.Util
{
public class MyHttpListenerUtils
{
private static Logger logger = LogManager.GetCurrentClassLogger();
private HttpListener MyListerner;
public void OnStart()
{
MyListerner = new HttpListener();
while (true)
{
try
{
MyListerner.AuthenticationSchemes = AuthenticationSchemes.Anonymous;
MyListerner.Prefixes.Add("http://127.0.0.1:7788/iqiyiWin/updateToken/");
MyListerner.Start();
}
catch (Exception ex)
{
UILogUtils.Error("服务器启动失败:" + ex.ToString());
break;
}
//线程池
int minThreadNum;
int portThreadNum;
int maxThreadNum;
ThreadPool.GetMaxThreads(out maxThreadNum, out portThreadNum);
ThreadPool.GetMinThreads(out minThreadNum, out portThreadNum);
while (true)
{
//等待请求连接
//没有请求则GetContext处于阻塞状态
HttpListenerContext ctx = MyListerner.GetContext();
ThreadPool.QueueUserWorkItem(new WaitCallback(TaskProc), ctx);
}
}
}
public void OnStop()
{
MyListerner?.Stop();
}
void TaskProc(object obj)
{
HttpListenerContext ctx = (HttpListenerContext)obj;
ctx.Response.StatusCode = 200;
ctx.Response.ContentType = "application/json";
ctx.Response.AppendHeader("Access-Control-Allow-Origin", "*");
var replyMsg = "{success:true}";
//使用Writer输出http响应代码,UTF8格式
using (StreamWriter writer = new StreamWriter(ctx.Response.OutputStream, Encoding.UTF8))
{
writer.Write(replyMsg);
writer.Close();
Main._this.ReacquireCookieBack(new IqiyiAccount()
{
MobileNo = ctx.Request.QueryString["mobile"],
Password = ctx.Request.QueryString["password"],
Cookie = ctx.Request.QueryString["token"],
Status = (int)ReacquireCookieEnums.ReacquireSuccess
});
ctx.Response.Close();
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace iqiyiWin.Util
{
public class WebBrowserCookie
{
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern bool InternetGetCookieEx(string pchUrl, string pchCookieName, StringBuilder pchCookieData, ref System.UInt32 pcchCookieData, int dwFlags, IntPtr lpReserved);
private static string GetCookieString(string url) // 从 webBrowser 获取 cookie,一般在webBrowser的 DocumentCompleted中获取
{
uint datasize = 1024;
StringBuilder cookieData = new StringBuilder((int)datasize);
if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x2000, IntPtr.Zero))
{
if (datasize < 0)
return null;
cookieData = new StringBuilder((int)datasize);
if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, IntPtr.Zero))
return null;
}
return cookieData.ToString();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Win32;
namespace iqiyiWin.Util
{
public class WebBrowserFeaturesUtils
{
/// <summary>
/// 修改注册表信息来兼容当前程序
///
/// </summary>
public static void SetWebBrowserFeatures(int ieVersion)
{
// don't change the registry if running in-proc inside Visual Studio
if (LicenseManager.UsageMode != LicenseUsageMode.Runtime)
return;
//获取程序及名称
var appName = System.IO.Path.GetFileName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
//得到浏览器的模式的值
UInt32 ieMode = GeoEmulationModee(ieVersion);
var featureControlRegKey = @"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\";
//设置浏览器对应用程序(appName)以什么模式(ieMode)运行
Registry.SetValue(featureControlRegKey + "FEATURE_BROWSER_EMULATION",
appName, ieMode, RegistryValueKind.DWord);
// enable the features which are "On" for the full Internet Explorer browser
//不晓得设置有什么用
Registry.SetValue(featureControlRegKey + "FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION",
appName, 1, RegistryValueKind.DWord);
Registry.SetValue(featureControlRegKey + "FEATURE_AJAX_CONNECTIONEVENTS",
appName, 1, RegistryValueKind.DWord);
Registry.SetValue(featureControlRegKey + "FEATURE_GPU_RENDERING",
appName, 1, RegistryValueKind.DWord);
Registry.SetValue(featureControlRegKey + "FEATURE_WEBOC_DOCUMENT_ZOOM",
appName, 1, RegistryValueKind.DWord);
Registry.SetValue(featureControlRegKey + "FEATURE_NINPUT_LEGACYMODE",
appName, 0, RegistryValueKind.DWord);
}
/// <summary>
/// 获取浏览器的版本
/// </summary>
/// <returns></returns>
public static int GetBrowserVersion()
{
int browserVersion = 0;
using (var ieKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer",
RegistryKeyPermissionCheck.ReadSubTree,
System.Security.AccessControl.RegistryRights.QueryValues))
{
var version = ieKey.GetValue("svcVersion");
if (null == version)
{
version = ieKey.GetValue("Version");
if (null == version)
throw new ApplicationException("Microsoft Internet Explorer is required!");
}
int.TryParse(version.ToString().Split('.')[0], out browserVersion);
}
//如果小于7
if (browserVersion < 7)
{
throw new ApplicationException("不支持的浏览器版本!");
}
return browserVersion;
}
/// <summary>
/// 通过版本得到浏览器模式的值
/// </summary>
/// <param name="browserVersion"></param>
/// <returns></returns>
public static UInt32 GeoEmulationModee(int browserVersion)
{
UInt32 mode = 11000; // Internet Explorer 11. Webpages containing standards-based !DOCTYPE directives are displayed in IE11 Standards mode.
switch (browserVersion)
{
case 7:
mode = 7000; // Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.
break;
case 8:
mode = 8000; // Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.
break;
case 9:
mode = 9000; // Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.
break;
case 10:
mode = 10000; // Internet Explorer 10.
break;
case 11:
mode = 11001; // Internet Explorer 11
break;
}
return mode;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iqiyiWin.Util
{
public class WebCleaner
{
/*
* 7 个静态函数
* 私有函数
* private bool FileDelete() : 删除文件
* private void FolderClear() : 清除文件夹内的所有文件
* private void RunCmd() : 运行内部命令
*
* 公有函数
* public void CleanCookie() : 删除Cookie
* public void CleanHistory() : 删除历史记录
* public void CleanTempFiles() : 删除临时文件
* public void CleanAll() : 删除所有
*
*
*
* */
//private
///
/// 删除一个文件,System.IO.File.Delete()函数不可以删除只读文件,这个函数可以强行把只读文件删除。
///
/// 文件路径
/// 是否被删除
static bool FileDelete(string path)
{
//first set the File\'s ReadOnly to 0
//if EXP, restore its Attributes
System.IO.FileInfo file = new System.IO.FileInfo(path);
System.IO.FileAttributes att = 0;
bool attModified = false;
try
{
//### ATT_GETnSET
att = file.Attributes;
file.Attributes &= (~System.IO.FileAttributes.ReadOnly);
attModified = true;
file.Delete();
}
catch (Exception e)
{
if (attModified)
file.Attributes = att;
return false;
}
return true;
}
//public
///
/// 清除文件夹
///
/// 文件夹路径
static void FolderClear(string path)
{
System.IO.DirectoryInfo diPath = new System.IO.DirectoryInfo(path);
foreach (System.IO.FileInfo fiCurrFile in diPath.GetFiles())
{
FileDelete(fiCurrFile.FullName);
}
foreach (System.IO.DirectoryInfo diSubFolder in diPath.GetDirectories())
{
FolderClear(diSubFolder.FullName); // Call recursively for all subfolders
}
}
static void RunCmd(string cmd)
{
System.Diagnostics.Process.Start("cmd.exe","/c " + cmd);
}
///
/// 删除历史记录
///
public static void CleanHistory()
{
string[] theFiles = System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.History), "*", System.IO.SearchOption.AllDirectories);
foreach (string s in theFiles)
FileDelete(s);
RunCmd("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1");
}
///
/// 删除临时文件
///
public static void CleanTempFiles()
{
FolderClear(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache));
RunCmd("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8");
}
///
/// 删除Cookie
///
public static void CleanCookie()
{
string[] theFiles = System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Cookies), "*", System.IO.SearchOption.AllDirectories);
foreach (string s in theFiles)
FileDelete(s);
RunCmd("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2");
}
///
/// 删除全部
///
public static void CleanAll()
{
CleanHistory();
CleanCookie();
CleanTempFiles();
}
}
}
......@@ -36,8 +36,17 @@
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.7.10\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Transactions" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
......@@ -61,6 +70,7 @@
<Compile Include="Constant\DingDingConstant.cs" />
<Compile Include="Constant\IqiyiVersion.cs" />
<Compile Include="Enums\AppEnvironmentEnum.cs" />
<Compile Include="Enums\ReacquireCookieEnums.cs" />
<Compile Include="Enums\TaskEnums.cs" />
<Compile Include="Extension\EnumExtension.cs" />
<Compile Include="FormWebBrower.cs">
......@@ -74,6 +84,7 @@
<Compile Include="Model\IqiyiH5Cinema.cs" />
<Compile Include="Model\IqiyiH5City.cs" />
<Compile Include="Model\IqiyiH5CreateOrder.cs" />
<Compile Include="Model\IqiyiH5Dim.cs" />
<Compile Include="Model\IqiyiH5Movie.cs" />
<Compile Include="Model\IqiyiH5Seat.cs" />
<Compile Include="Model\IqiyiH5Session.cs" />
......@@ -100,8 +111,10 @@
<Compile Include="Request\IqiyiH5BaseRequest.cs" />
<Compile Include="Request\IqiyiH5BaseRequest2.cs" />
<Compile Include="Request\Order\IqiyiH5CreateOrderRequest.cs" />
<Compile Include="Request\User\IqiyiH5DfpSignRequest.cs" />
<Compile Include="Request\User\IqiyiH5ReceiveWaitLookRequest.cs" />
<Compile Include="Request\User\IqiyiH5UserBaseRequest.cs" />
<Compile Include="Request\User\IqiyiH5UserLoginRequest.cs" />
<Compile Include="Request\User\WantLookMoiveRequest.cs" />
<Compile Include="Response\Cinema\CinemaItem\CinemaResponse.cs" />
<Compile Include="Response\Cinema\Citites\CityListResponse.cs" />
......@@ -116,6 +129,7 @@
<Compile Include="Response\Order\IqiyiH5CreateOrderResponse.cs" />
<Compile Include="Response\Task\TaskList\GetTaskListResponse.cs" />
<Compile Include="Response\User\LockDraw\LockDrawResponse.cs" />
<Compile Include="Response\User\Sign\SignResponse.cs" />
<Compile Include="SetLuckDraw.cs">
<SubType>Form</SubType>
</Compile>
......@@ -141,15 +155,20 @@
<DependentUpon>SetInterval.cs</DependentUpon>
</Compile>
<Compile Include="Util\DateUtils.cs" />
<Compile Include="Util\EnumsUtils.cs" />
<Compile Include="Util\FileUtils.cs" />
<Compile Include="Util\HttpResult.cs" />
<Compile Include="Util\HttpUtils.cs" />
<Compile Include="Util\IqiyiSign.cs" />
<Compile Include="Util\IUILog.cs" />
<Compile Include="Util\JsonUtils.cs" />
<Compile Include="Util\MyHttpListenerUtils.cs" />
<Compile Include="Util\Sha1.cs" />
<Compile Include="Util\UILogUtils.cs" />
<Compile Include="Util\UrlUtils.cs" />
<Compile Include="Util\WebBrowserCookie.cs" />
<Compile Include="Util\WebBrowserFeaturesUtils.cs" />
<Compile Include="Util\WebCleaner.cs" />
<EmbeddedResource Include="FormWebBrower.resx">
<DependentUpon>FormWebBrower.cs</DependentUpon>
</EmbeddedResource>
......@@ -191,6 +210,16 @@
<Name>DingDingSdk</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<COMReference Include="MSScriptControl">
<Guid>{0E59F1D2-1FBE-11D0-8FF2-00A0D10038BC}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net472" />
<package id="NLog" version="4.7.10" targetFramework="net472" />
</packages>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment