查找word操作(支持多关键字查找)

 1 using System;
 2 using System.Net;
 3 using System.IO;
 4 using System.Text;
 5 using System.Text.RegularExpressions;
 6 using System.Net.Security;
 7 using System.Security.Cryptography.X509Certificates;
 8 using System.Collections;
 9 
10 namespace ConsoleApp1
11 {
12 
13     class Program
14     {
15         public static string DoRequest(string Url, string cookieStr)
16         {
17             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
18             request.Timeout = 1000 * 900;
19             request.Headers.Add(HttpRequestHeader.Cookie, cookieStr);
20             request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36";
21             ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;// SecurityProtocolType.Tls1.2;
22             string back = "";
23             try
24             {
25                 WebResponse response = request.GetResponse();
26                 StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);
27                 back = reader.ReadToEnd();
28                 reader.Close();
29                 reader.Dispose();
30                 response.Close();
31             }
32             catch (Exception ex)
33             {
34                 back = ex.Message;
35             }
36             return back;
37         }
38 
39         static void Main(string[] args)
40         {
41             Console.WriteLine("请输入关键字数目");
42             int num = int.Parse(Console.ReadLine());
43             ArrayList keywords = new ArrayList();
44             for (int i = 0; i < num; i++)
45             {
46                 Console.WriteLine("请输入第" + (i + 1).ToString() + "个关键字而后输入回车");
47                 keywords.Add(Console.ReadLine());
48             }
49             string cookie = "";
50             for (int i = 1; i < 64; i++)
51             {
52                 string url = "https://www.php.cn/topic/word?p=" + i.ToString();
53                 string str = DoRequest(url, cookie);
54                 bool canPass = true;
55                 foreach (Object obj in keywords)
56                     if (str.IndexOf(obj.ToString()) == -1)
57                     {
58                         canPass = false;
59                         break;
60                     }
61                 if (canPass)
62                     Console.WriteLine(url);
63             }
64             Console.WriteLine("检索完毕");
65             Console.ReadLine();
66         }
67     }
68 }
View Code

 

posted @ 2020-07-25 10:26  KamishiroShinchi  阅读(608)  评论(0编辑  收藏  举报