主要流程:
- 使用HttpWebRequest抓取Github API網頁內容
- 使用正則表達式尋找版本號碼,正則表達式:
[0-9]*\.[0-9]*\.[0-9_]*
- 使用if else逐一比對是否有重複版本號碼,有的話就跳出迴圈,比對下一個版本號碼
- 將版本號碼插入至下載連結
實際程式碼:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Get_WebPage_Data
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void Insert_Text(string content)
{
int count = textBox1.Text.Length;
string get_box_text = textBox1.Text;
textBox1.Text = get_box_text.Insert(count, content + "\r\n");
//////自動卷軸到最底下
textBox1.ScrollBars = ScrollBars.Vertical;
textBox1.SelectionStart = textBox1.Text.Length;
textBox1.ScrollToCaret();
}
private void Get_Page_Bt_Click(object sender, EventArgs e)
{
string strUrl = @"https://api.github.com/repos/q3aql/aria2-static-builds/tags";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl);
request.Timeout = 10000;
request.Method = "GET";
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Windows NT 5.2; Windows NT 6.0; Windows NT 6.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; MS-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 4.0C; .NET CLR 4.0E)";
HttpWebResponse webresponse = (HttpWebResponse)request.GetResponse();
StreamReader streamReader = new StreamReader(webresponse.GetResponseStream(), Encoding.UTF8);
string retString = streamReader.ReadToEnd();
webresponse.Close();
streamReader.Close();
string Compare = "";
foreach (Match match in Regex.Matches(retString, @"[0-9]*\.[0-9]*\.[0-9_]*"))
{
string Find_Result = match.Value.ToString();
if(Find_Result == Compare)
{}
else
{
Insert_Text("版本號碼:"+ Find_Result);
Insert_Text("下載連結:"+@" "+@"https://github.com/q3aql/aria2-static-builds/releases/download/v" + Find_Result + @"/aria2-" + Find_Result + @"-win-64bit-build1.7z");
Compare = Find_Result;
}
}
}
}
}
運行結果:
下載程式範例:https://mega.nz/#!qPpUDa4b!ZYISnA-eVwhAe7YyBEcmX24OULiGHlja-OT0OmAlodk