Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
iqiyiWin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wuliangshun
iqiyiWin
Commits
21571f6a
Commit
21571f6a
authored
Apr 29, 2021
by
wuliangshun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
-
parent
35fce98e
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
125 additions
and
43 deletions
+125
-43
Domain.cs
iqiyiWin/Api/Domain.cs
+1
-1
User.cs
iqiyiWin/Api/User.cs
+31
-32
IqiyiVersion.cs
iqiyiWin/Constant/IqiyiVersion.cs
+13
-2
Main.cs
iqiyiWin/Main.cs
+65
-5
IqiyiAccount.cs
iqiyiWin/Model/IqiyiAccount.cs
+4
-2
CouponListResponse.cs
iqiyiWin/Response/User/CouponList/CouponListResponse.cs
+10
-0
SetInterval.Designer.cs
iqiyiWin/SetInterval.Designer.cs
+1
-1
No files found.
iqiyiWin/Api/Domain.cs
View file @
21571f6a
...
...
@@ -14,7 +14,7 @@ namespace iqiyiWin.Api
public
static
string
WWW_IQIYI
=
"https://www.iqiyi.com"
;
public
static
string
PCELL_DOMAIN
=
"https://pcell.iqiyi.com
/
"
;
public
static
string
PCELL_DOMAIN
=
"https://pcell.iqiyi.com"
;
}
}
iqiyiWin/Api/User.cs
View file @
21571f6a
...
...
@@ -16,6 +16,7 @@ namespace iqiyiWin.Api
{
public
class
User
{
private
static
Random
NonceRandom
=
new
Random
();
/// <summary>
/// 查询观影豆
/// </summary>
...
...
@@ -33,16 +34,7 @@ namespace iqiyiWin.Api
headers
.
Add
(
"dvsrc"
,
IqiyiVersion
.
Dvsrc
);
headers
.
Add
(
"dfp"
,
IqiyiVersion
.
Dfp
());
headers
.
Add
(
"ts"
,
DateUtils
.
GetTimeStampOfMilliseconds
().
ToString
());
var
nonce
=
""
;
var
encryption
=
"0123456789abcdefghijklmnopqrstuvwxyz"
;
var
random
=
new
Random
();
for
(
int
i
=
0
;
i
<
16
;
i
++)
{
nonce
+=
encryption
[
random
.
Next
(
0
,
encryption
.
Length
)];
}
headers
.
Add
(
"nonce"
,
nonce
);
headers
.
Add
(
"nonce"
,
IqiyiVersion
.
Nonce
());
headers
.
Add
(
"pageNo"
,
"0"
);
headers
.
Add
(
"pageCount"
,
"20"
);
headers
.
Add
(
"ck"
,
iqiyiAccount
.
Cookie
);
...
...
@@ -90,16 +82,7 @@ namespace iqiyiWin.Api
headers
.
Add
(
"dvsrc"
,
IqiyiVersion
.
Dvsrc
);
headers
.
Add
(
"dfp"
,
IqiyiVersion
.
Dfp
());
headers
.
Add
(
"ts"
,
DateUtils
.
GetTimeStampOfMilliseconds
().
ToString
());
var
nonce
=
""
;
var
encryption
=
"0123456789abcdefghijklmnopqrstuvwxyz"
;
var
random
=
new
Random
();
for
(
int
i
=
0
;
i
<
16
;
i
++)
{
nonce
+=
encryption
[
random
.
Next
(
0
,
encryption
.
Length
)];
}
headers
.
Add
(
"nonce"
,
nonce
);
headers
.
Add
(
"nonce"
,
IqiyiVersion
.
Nonce
());
headers
.
Add
(
"pageNo"
,
"0"
);
headers
.
Add
(
"pageCount"
,
"20"
);
headers
.
Add
(
"ck"
,
iqiyiAccount
.
Cookie
);
...
...
@@ -132,7 +115,7 @@ namespace iqiyiWin.Api
else
{
// UILogUtils.Error($"爱奇艺票务 【获取优惠券数量】失败: {iqiyiAccount.MobileNo} {(response == null ? responseStr : response.Msg)}");
return
n
ew
List
<
Valid
>()
;
return
n
ull
;
}
}
/// <summary>
...
...
@@ -146,21 +129,35 @@ namespace iqiyiWin.Api
var
dfp
=
IqiyiVersion
.
Dfp
();
var
nonceRandom
=
new
Random
();
//headers.Add("deviceId", dfp);
//headers.Add("dfp", dfp);
//headers.Add("appid", "1003");
//headers.Add("os", "CPU iPhone OS 13_2_3 like Mac OS X");
//headers.Add("format", "json");
//headers.Add("platform", "Win32");
//headers.Add("ts", DateUtils.GetTimeStampOfMilliseconds().ToString());
//headers.Add("src", "H5");
//headers.Add("version", "1.0.0");
//headers.Add("ck", iqiyiAccount.Cookie);
//headers.Add("nonce", $"0.{NonceRandom.Next(10000000, 99999999)}{NonceRandom.Next(10000000, 99999999)}");
//headers.Add("bizType", "APP");
//headers.Add("_t", DateUtils.GetTimeStampOfMilliseconds().ToString());
headers
.
Add
(
"deviceId"
,
dfp
);
headers
.
Add
(
"dfp"
,
dfp
);
headers
.
Add
(
"appid"
,
"100
3
"
);
headers
.
Add
(
"os"
,
"
CPU iPhone OS 13_2_3 like Mac OS X
"
);
headers
.
Add
(
"appid"
,
"100
10
"
);
headers
.
Add
(
"os"
,
"
14.4
"
);
headers
.
Add
(
"format"
,
"json"
);
headers
.
Add
(
"platform"
,
"
Win32
"
);
headers
.
Add
(
"platform"
,
"
iphone
"
);
headers
.
Add
(
"ts"
,
DateUtils
.
GetTimeStampOfMilliseconds
().
ToString
());
headers
.
Add
(
"src"
,
"H5"
);
headers
.
Add
(
"version"
,
"1.0.0"
);
headers
.
Add
(
"location"
,
""
);
headers
.
Add
(
"src"
,
"ios"
);
headers
.
Add
(
"version"
,
"3.3.0"
);
headers
.
Add
(
"ck"
,
iqiyiAccount
.
Cookie
);
headers
.
Add
(
"nonce"
,
$"0.
{
nonceRandom
.
Next
(
10000000
,
99999999
)}{
nonceRandom
.
Next
(
10000000
,
99999999
)}
"
);
headers
.
Add
(
"nonce"
,
"1248907070
"
);
headers
.
Add
(
"bizType"
,
"APP"
);
headers
.
Add
(
"_t"
,
DateUtils
.
GetTimeStampOfMilliseconds
().
ToString
());
headers
.
Add
(
"cityId"
,
""
);
var
queryText
=
UrlUtils
.
BuildQueryStringUrl
(
headers
);
...
...
@@ -187,13 +184,15 @@ namespace iqiyiWin.Api
{
var
headers
=
new
SortedDictionary
<
string
,
string
>();
var
queryList
=
new
SortedDictionary
<
string
,
string
>();
headers
.
Add
(
"actCode"
,
actCode
);
headers
.
Add
(
"P00001"
,
iqiyiAccount
.
Cookie
);
queryList
.
Add
(
"actCode"
,
actCode
);
queryList
.
Add
(
"P00001"
,
iqiyiAccount
.
Cookie
);
headers
.
Add
(
"Origin"
,
"https://www.iqiyi.com"
);
var
queryText
=
UrlUtils
.
BuildQueryStringUrl
(
headers
);
var
queryText
=
UrlUtils
.
BuildQueryStringUrl
(
queryList
);
var
responseStr
=
HttpUtils
.
DoGet
(
Domain
.
PCELL_DOMAIN
+
ApiConstant
.
LOCK_DRAW
+
queryText
,
headers
);
var
responseStr
=
HttpUtils
.
DoGet
(
new
CookieContainer
()
,
Domain
.
WWW_IQIYI
,
Domain
.
PCELL_DOMAIN
+
ApiConstant
.
LOCK_DRAW
+
queryText
,
headers
);
var
response
=
JsonConvert
.
DeserializeObject
<
LockDrawResponse
>(
responseStr
);
...
...
iqiyiWin/Constant/IqiyiVersion.cs
View file @
21571f6a
...
...
@@ -14,19 +14,30 @@ namespace iqiyiWin.Constant
public
static
string
Platform
=
"iPhone"
;
public
static
string
Appid
=
"10012"
;
public
static
string
Dvsrc
=
"ios"
;
public
static
Random
Random
=
new
Random
();
public
static
string
Dfp
()
{
var
resultText
=
""
;
var
random
=
new
Random
();
var
randomText
=
"0123456789abcdef"
;
for
(
var
i
=
0
;
i
<
66
;
i
++)
{
resultText
+=
randomText
[
r
andom
.
Next
(
0
,
16
)];
resultText
+=
randomText
[
R
andom
.
Next
(
0
,
16
)];
}
return
resultText
;
}
public
static
string
Nonce
()
{
var
nonce
=
""
;
var
encryption
=
"0123456789abcdefghijklmnopqrstuvwxyz"
;
var
random
=
new
Random
();
for
(
int
i
=
0
;
i
<
16
;
i
++)
{
nonce
+=
encryption
[
random
.
Next
(
0
,
encryption
.
Length
)];
}
return
nonce
;
}
}
}
iqiyiWin/Main.cs
View file @
21571f6a
...
...
@@ -238,6 +238,45 @@ namespace iqiyiWin
var
logText
=
$"爱奇艺票务 本次
{
EnumExtension
.
GetDescription
(
TaskList
[
TaskIndex
])}
任务,共计执行
{
SelectNum
}
个账号,成功
{
SuccessNum
}
个账号,失败
{
ErrorNum
}
个账号,所用时长
{
hour
}
小时
{
mominute
}
分钟
{
msecond
}
秒钟。"
;
// 如果它是查券就进行排序
if
(
TaskList
[
TaskIndex
]
==
TaskTypeEnum
.
Coupon
)
{
var
hasCouponAccount
=
new
List
<
IqiyiAccount
>();
foreach
(
var
item
in
IqiyiAccounts
)
{
if
(
item
.
CouponList
!=
null
&&
item
.
CouponList
.
Count
>
0
)
{
hasCouponAccount
.
Add
(
item
);
}
}
String
fileNamePrefix
=
"查询优惠券成功有券排序完成-"
+
DateTime
.
Now
.
ToString
(
"HHmmss"
)
+
".txt"
;
var
fileDirectory
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"日志"
,
"查询优惠券"
,
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
));
var
filePath
=
Path
.
Combine
(
fileDirectory
,
fileNamePrefix
);
var
fileText
=
""
;
for
(
int
i
=
0
;
i
<
hasCouponAccount
.
Count
;
i
++)
{
for
(
int
j
=
i
+
1
;
j
<
hasCouponAccount
.
Count
;
j
++)
{
if
(
hasCouponAccount
[
i
].
CouponList
[
0
].
ExpiredTimeNum
>
hasCouponAccount
[
j
].
CouponList
[
0
].
ExpiredTimeNum
)
{
var
temp
=
hasCouponAccount
[
i
];
hasCouponAccount
[
i
]
=
hasCouponAccount
[
j
];
hasCouponAccount
[
j
]
=
temp
;
}
}
var
item
=
hasCouponAccount
[
i
];
fileText
=
$"
{
item
.
MobileNo
}
----
{
item
.
Password
}
----
{
item
.
Cookie
}
|"
;
foreach
(
var
v
in
item
.
CouponList
)
{
fileText
+=
$"[
{
v
.
DisplaySubType
}
|
{
v
.
DisplaySubName
}
~减
{
v
.
DisCountStr
}
|
{
v
.
AvailableTips
}
]"
;
}
fileText
+=
$"\n"
;
FileUtils
.
AppendAllText
(
filePath
,
fileText
,
Encoding
.
UTF8
);
}
}
if
(
TimerTiming
.
Enabled
)
{
SendDingdingMessagesAsync
(
$"
{
logText
}
"
,
"18057708086"
);
...
...
@@ -641,7 +680,8 @@ namespace iqiyiWin
CancellationToken
cancellationToken
=
_cancellationTokenSource
.
Token
;
String
fileDirectory
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"日志"
,
"查询优惠券"
,
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
));
String
fileNamePrefixSuccess
=
"查询优惠券成功-"
+
DateTime
.
Now
.
ToString
(
"HHmmss"
)
+
".txt"
;
String
fileNamePrefixSuccessHasCoupon
=
"查询优惠券成功有券-"
+
DateTime
.
Now
.
ToString
(
"HHmmss"
)
+
".txt"
;
String
fileNamePrefixSuccessHasNotCoupon
=
"查询优惠券成功无券-"
+
DateTime
.
Now
.
ToString
(
"HHmmss"
)
+
".txt"
;
String
fileNamePrefixError
=
"查询优惠券失败-"
+
DateTime
.
Now
.
ToString
(
"HHmmss"
)
+
".txt"
;
foreach
(
var
iqiyiAccount
in
iqiyiAccounts
)
...
...
@@ -658,17 +698,27 @@ namespace iqiyiWin
string
filePath
=
""
;
var
iqiyiAccountCouponList
=
User
.
GetCouponList
(
iqiyiAccount
);
iqiyiAccount
.
CouponNum
=
Convert
.
ToInt32
(
iqiyiAccountCouponList
.
Count
);
string
fileText
=
$"
{
iqiyiAccount
.
MobileNo
}
----
{
iqiyiAccount
.
Password
}
----
{
iqiyiAccount
.
Cookie
}
"
;
if
(
iqiyiAccountCouponList
.
Count
==
0
)
if
(
iqiyiAccountCouponList
==
null
)
{
Interlocked
.
Increment
(
ref
ErrorNum
);
Interlocked
.
Increment
(
ref
ImplementNum
);
Interlocked
.
Decrement
(
ref
WaitNum
);
filePath
=
Path
.
Combine
(
fileDirectory
,
fileNamePrefixError
);
fileText
+=
$"\n"
;
}
else
if
(
iqiyiAccountCouponList
.
Count
==
0
)
{
Interlocked
.
Increment
(
ref
SuccessNum
);
Interlocked
.
Increment
(
ref
ImplementNum
);
Interlocked
.
Decrement
(
ref
WaitNum
);
fileText
+=
$"\n"
;
filePath
=
Path
.
Combine
(
fileDirectory
,
fileNamePrefixSuccessHasNotCoupon
);
}
else
{
...
...
@@ -676,6 +726,10 @@ namespace iqiyiWin
Interlocked
.
Increment
(
ref
ImplementNum
);
Interlocked
.
Decrement
(
ref
WaitNum
);
iqiyiAccount
.
CouponList
=
iqiyiAccountCouponList
;
iqiyiAccount
.
CouponNum
=
Convert
.
ToInt32
(
iqiyiAccountCouponList
.
Count
);
var
couponListText
=
""
;
foreach
(
var
item
in
iqiyiAccountCouponList
)
...
...
@@ -685,12 +739,11 @@ namespace iqiyiWin
fileText
=
$"
{
fileText
}
|
{
couponListText
}
\n"
;
filePath
=
Path
.
Combine
(
fileDirectory
,
fileNamePrefixSuccess
);
filePath
=
Path
.
Combine
(
fileDirectory
,
fileNamePrefixSuccess
HasCoupon
);
}
setStatusStripNum
();
FileUtils
.
AppendAllText
(
filePath
,
fileText
,
Encoding
.
UTF8
);
},
cancellationToken
);
}
...
...
@@ -846,8 +899,15 @@ namespace iqiyiWin
TaskList
.
Add
(
TaskTypeEnum
.
Coupon
);
taskNameList
.
Add
(
$"
{
EnumExtension
.
GetDescription
(
TaskTypeEnum
.
Coupon
)}
"
);
}
// 执行抽奖
if
(
cb_luckDraw
.
Checked
)
{
if
(
ActCode
.
Length
==
0
)
{
UILogUtils
.
Error
(
$"请先添加抽奖Id"
);
return
;
}
TaskList
.
Add
(
TaskTypeEnum
.
LockDraw
);
taskNameList
.
Add
(
$"
{
EnumExtension
.
GetDescription
(
TaskTypeEnum
.
LockDraw
)}
"
);
}
...
...
iqiyiWin/Model/IqiyiAccount.cs
View file @
21571f6a
...
...
@@ -4,6 +4,7 @@ using System.Linq;
using
System.Net
;
using
System.Text
;
using
System.Threading.Tasks
;
using
iqiyiWin.Response.User.CouponList
;
namespace
iqiyiWin.Model
{
...
...
@@ -44,10 +45,11 @@ namespace iqiyiWin.Model
/// <summary>
/// 优惠券数
/// </summary>
public
int
CouponNum
{
get
;
set
;
}
public
int
CouponNum
{
get
;
set
;
}
=
0
;
/// <summary>
/// 优惠券列表
/// </summary>
public
Array
CouponList
{
get
;
set
;
}
public
List
<
Valid
>
CouponList
{
get
;
set
;
}
}
}
iqiyiWin/Response/User/CouponList/CouponListResponse.cs
View file @
21571f6a
...
...
@@ -246,12 +246,19 @@ namespace iqiyiWin.Response.User.CouponList
[
JsonProperty
(
"couponType"
)]
public
int
CouponType
{
get
;
set
;
}
/// <summary>
/// Examples: "3天到期"
/// </summary>
[
JsonProperty
(
"expiredTimeRemind"
)]
public
string
ExpiredTimeRemind
{
get
;
set
;
}
/// <summary>
/// Examples: "https://app.iqiyi.com/ext/common/qipiao/libao_goumai/app.html?channel=piaoh5_lbkq"
/// </summary>
[
JsonProperty
(
"giftPackageH5Url"
)]
public
string
GiftPackageH5Url
{
get
;
set
;
}
/// <summary>
/// Examples: "不可叠加"
/// </summary>
...
...
@@ -263,5 +270,8 @@ namespace iqiyiWin.Response.User.CouponList
/// </summary>
[
JsonProperty
(
"desc"
)]
public
string
Desc
{
get
;
set
;
}
public
int
ExpiredTimeNum
{
get
{
return
Convert
.
ToInt32
(
System
.
Text
.
RegularExpressions
.
Regex
.
Replace
(
ExpiredTimeRemind
,
@"[^0-9]+"
,
""
));
}
}
}
}
iqiyiWin/SetInterval.Designer.cs
View file @
21571f6a
...
...
@@ -32,8 +32,8 @@
this
.
tableLayoutPanel1
=
new
System
.
Windows
.
Forms
.
TableLayoutPanel
();
this
.
label1
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btn_submit
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
backgroundWorker1
=
new
System
.
ComponentModel
.
BackgroundWorker
();
this
.
btn_stop
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
backgroundWorker1
=
new
System
.
ComponentModel
.
BackgroundWorker
();
this
.
tableLayoutPanel1
.
SuspendLayout
();
this
.
SuspendLayout
();
//
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment