class WebpWebClient:WebClient { protected override WebRequest GetWebRequest(Uri address) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); //req.UserAgent = "[any words that is more than 5 characters]"; request.UserAgent = "testrequest"; return request; } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; using System.Net.Http; using System.Drawing; using System.Net; using System.IO; using ImageProcessor.Imaging.Formats; using ImageProcessor; using System.Diagnostics; using System.Security.Policy; namespace ConsoleApp7 { class WebpWebClient:WebClient { protected override WebRequest GetWebRequest(Uri address) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); //req.UserAgent = "[any words that is more than 5 characters]"; request.UserAgent = "testrequest"; return request; } } internal class Program { static void Main(string[] args) { WebClient_Download_File(); Console.ReadLine(); } static void WebClient_Download_File(string url = "https://upload.wikimedia.org/wikipedia/commons/a/a1/Johnrogershousemay2020.webp") { for(int i=0;i<10;i++) { string downloadedWebpFile = $"{DateTime.Now.ToString("yyyyMMddHHMMssffff")}{Guid.NewGuid().ToString()}.webp"; WebpWebClient client = new WebpWebClient(); client.DownloadFile(url, downloadedWebpFile); Console.WriteLine($"{DateTime.Now.ToString("yyyyMMddHHMMssffff")} {downloadedWebpFile} in {System.Reflection.MethodBase.GetCurrentMethod().Name}"); } } } }
Referenced from https://stackoverflow.com/questions/16735042/the-remote-server-returned-an-error-403-forbidden