webclient download file The remote server returned an error: (403) Forbidden,

发布时间 2023-07-05 12:54:19作者: Fred1987
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