本文介绍了无法在 C# 中读取 UNICODE URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
限时送ChatGPT账号..以下代码不起作用:
using System;
using System.IO;
using System.Net;
using System.Web;
namespace Proyecto_Prueba_04
{
class Program
{
/// <summary>
///
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static string GetWebText(string url)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.UserAgent = "A .NET Web Crawler";
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
string htmlText = reader.ReadToEnd();
return htmlText;
} // End of the GetWebText method.
/// <summary>
///
/// </summary>
/// <param name="args"></param>
public static void Main(string[] args)
{
string urlPrueba = Uri.UnescapeDataString("http://?????????.??/");
Console.WriteLine("urlPrueba" + " = " + urlPrueba);
var encoded = HttpUtility.UrlPathEncode(urlPrueba);
Console.WriteLine("encoded" + " = " + encoded);
string codigoHTML = GetWebText(encoded);
Console.WriteLine("codigoHTML" + " = " + codigoHTML);
Console.ReadLine();
} // End of the Main method.
} // End of the Program class.
} // End of the Proyecto_Prueba_04 namespace.
我无法理解如何处理 UNICODE URL.
I can't understand how do I have to handle a UNICODE URL.
有什么想法吗?
谢谢.
推荐答案
您可以使用 IdnMapping 类.
string idn = "президент.рф";
IdnMapping mapping = new IdnMapping();
string asciiIdn = mapping.GetAscii(idn);
Console.WriteLine(asciiIdn);
var text = GetWebText("http://" + asciiIdn);
Console.WriteLine(text);
这篇关于无法在 C# 中读取 UNICODE URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论