Files
KJD_WebService/Work/BLL/Collect/HaoWuCollectBLL.cs
T
2025-06-29 19:38:31 +08:00

168 lines
8.2 KiB
C#

using AllBase.Model.Result;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Security;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Work.BLL.Collect
{
/// <summary>
/// 抖音好物采集
/// </summary>
public class HaoWuCollectBLL
{
private static bool CheckValidationResult(object sender, object certificate, object chain, SslPolicyErrors errors) => true; // 总是接受
public static string getHtml_fxg_20201220(string url, string cookies, string ip = "")
{
string str = "";
try
{
int num = 0;
while (num < 3)
{
try
{
HttpWebRequest request = null;
if (!url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
request = WebRequest.Create(url) as HttpWebRequest;
}
else
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
}
request.Timeout = 25000;
request.ReadWriteTimeout = 25000;
request.Method = "Get";
request.ContentType = "application/json; charset=utf-8";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36";
if ((DateTime.Now.Second % 5) == 0)
{
request.UserAgent = "com.ss.android.ugc.aweme/140001 (Linux; U; QuicVersion:47946d2a 2020-10-14)";
}
else if ((DateTime.Now.Second % 5) == 1)
{
request.UserAgent = "Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3";
}
else if ((DateTime.Now.Second % 5) == 2)
{
request.UserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3";
}
else if ((DateTime.Now.Second % 5) == 3)
{
request.UserAgent = "Mozilla/5.0 (Linux; Android 10; TAS-AL00 Build/HUAWEITAS-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045120 Mobile Safari/537.36 V1_AND_SQ_8.2.7_1334_YYB_D QQ/8.2.7.4410 NetType/WIFI WebP/0.3.0 Pixel/1080 StatusBarHeight/81 SimpleUISwitch/0";
}
else if ((DateTime.Now.Second % 5) == 4)
{
request.UserAgent = "Mozilla/5.0 (Linux; Android 6.0.1; Redmi Note 3 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.19 SP-engine/2.15.0 baiduboxapp/11.19.5.10 (Baidu; P1 6.0.1)";
}
request.Host = new Uri(url).Host;
if (cookies.Trim() != "")
{
request.Headers.Add("Cookie", cookies);
}
request.Headers.Add("x-agw-info", "w6S2IHH6-wDuuvNtk2hidFD2MalfJTaURnf6XobYTqjSXcFmCxT79rJjYPudFSWQKnvYl1_OuIsDwtMtheGHihJf4OgPYQqcLNzPkIgpYAEbkfMAvBCAm1gY6uOq0Q_7DbfFOJAMQRGwDEkbVSLUxQSX5cc0hIkwhm36AUf0CflSXVno");
request.Headers.Add("x-tt-logid", "2020122015563901002902921706016162");
request.Headers.Add("x-tt-trace-host", "010c04b40779d7ea1251fcddf2faf54650937df4831d71a387846d4b65371bb93d891684d9895d083828b415698988c161a98e8e3579dfbba439a0f3317851b468507df11e82922352c8b013941f82ea53");
request.Headers.Add("x-trans-level", "0");
request.Headers.Add("x-tt-trace-tag", "id=3;cdn-cache=miss");
char[] separator = new char[] { ':' };
string[] strArray = ip.Split(separator);
char[] chArray2 = new char[] { '.' };
string[] strArray2 = ip.Split(chArray2);
if (((ip.Trim() != "") && ((strArray.Length == 2) && (ip.IndexOf(".") > 0))) && (strArray2.Length == 4))
{
request.Proxy = new WebProxy(strArray[0], Convert.ToInt32(strArray[1].Trim()));
}
Encoding encoding = Encoding.Default;
encoding = Encoding.UTF8;
str = new StreamReader(((HttpWebResponse)request.GetResponse()).GetResponseStream(), encoding).ReadToEnd();
num = 10;
}
catch
{
num++;
}
}
}
catch
{
}
return str;
}
public static string getHtml(string url, string cookies, string encod = "")
{
string str = "";
try
{
int num = 0;
while (num < 3)
{
try
{
HttpWebRequest request = null;
if (!url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
request = WebRequest.Create(url) as HttpWebRequest;
}
else
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
}
request.Method = "Get";
request.Referer = url;
request.ContentType = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;";
request.ContentType = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36";
request.Host = new Uri(url).Host;
if (cookies.Trim() != "")
{
request.Headers.Add("Cookie", cookies);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Encoding encoding = Encoding.Default;
if (encod == "utf8")
{
encoding = Encoding.UTF8;
}
StreamReader reader = new StreamReader(response.GetResponseStream(), encoding);
str = reader.ReadToEnd();
try
{
reader.Close();
response.Close();
reader.Dispose();
response = null;
request = null;
}
catch
{
}
num = 10;
}
catch
{
num++;
}
}
}
catch
{
}
return str;
}
}
}