Asp.net 在次要URL节点中使用带有重音字符的HttpWebRequest会出现403错误,但浏览器不会';T

Asp.net 在次要URL节点中使用带有重音字符的HttpWebRequest会出现403错误,但浏览器不会';T,asp.net,httprequest,httpwebrequest,Asp.net,Httprequest,Httpwebrequest,我使用此代码获取网页。如果倒数第二个节点有重音字符,网站将返回“403-禁止”错误。但是,如果我将URL粘贴到任何浏览器,它都可以工作。有什么区别?我还需要其他设置或标题吗?如何调试它?我尝试对URL进行编码,但网站无法识别URL string url = "https://www.example.com/recepción/xx"; HttpWebRequest SiteRequest; Stream responseStream; Stream pageStream; b

我使用此代码获取网页。如果倒数第二个节点有重音字符,网站将返回“403-禁止”错误。但是,如果我将URL粘贴到任何浏览器,它都可以工作。有什么区别?我还需要其他设置或标题吗?如何调试它?我尝试对URL进行编码,但网站无法识别URL

string url = "https://www.example.com/recepción/xx";
HttpWebRequest SiteRequest;
Stream responseStream;
Stream pageStream;
bool returnValue = false;

ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
        | SecurityProtocolType.Tls11
        | SecurityProtocolType.Tls12
        | SecurityProtocolType.Ssl3;

try
{
    SiteRequest = (HttpWebRequest)WebRequest.Create(url);
}
catch (Exception exc)
{
    string inner = ".";
    if (exc.InnerException != null)
        inner = ": " + exc.InnerException.Message;
    System.Console.WriteLine("Error creating web request \"" + url + "\": " + exc.Message + inner);
    return false;
}

SiteRequest.Method = "GET";
SiteRequest.AllowAutoRedirect = true;
SiteRequest.CookieContainer = SiteCookieContainer;
SiteRequest.Referer = url;
SiteRequest.Timeout = TimeoutMsec;
SiteRequest.Proxy = null;

try
{
    SiteResponse = (HttpWebResponse)SiteRequest.GetResponse();
    returnValue = true;
}
catch (Exception exc)
{
    string inner = ".";
    if (exc.InnerException != null)
        inner = ": " + exc.InnerException.Message;
    System.Console.WriteLine("Error getting response \"" + url + "\": " + exc.Message + inner);
    return false;
}
//...