时间:2022-07-28 11:00:42 | 栏目:.NET代码 | 点击:次
public IActionResult GetHiPda() { cookies = @"__utmz=128828693.1622702936.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); cdb_cookietime=2592000; cdb_auth=fd05ACWP2GIZl8k0oqBaZUtQ8WjXIxIXESeqpdSfAzikXEX4tYdJM%2B4FIBRY7jXLyGQs0yjP3K2kgFK6MFe6fcJkrIH5; smile=1D1; discuz_fastpostrefresh=0; __utmc=128828693; cdb_visitedfid=2D6; cdb_sid=0ZwKQ7; __utma=128828693.1700824799.1622702936.1623767772.1623808037.73; __utmt=1; __utmb=128828693.1.10.1623808037; checkpm=1"; string url = @"https://www.hi-pda.com/forum/forumdisplay.php?fid=2"; var client = new RestClient(url); var request = new RestRequest(); request.AddHeader("cookie", cookies); var response = client.Get(request); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); var data=HttpUtility.UrlDecode(response.RawBytes, Encoding.GetEncoding("gbk")); return Content(data); }
引入NuGet包:System.Text.Encoding.CodePages
CLR中的Encoding就是用于字节和字符之间的转换的。
CLR中的Encoding是在System.Text命名空间下的,它是一个抽象类(abstract class), 所以不能被直接实例化,它主要有如下的派生类:ASCIIEnding,UnicodeEncoding,UTF32Encoding,UTF7Encoding,UTF8Encoding,你可以根据需要选择一个合适的Encoding来进行编码和解码。你也可以调用Encoding的静态属性ASCII,Unicode,UTF32,UTF7,UTF8,来构造一个Encoding。其中Unicode是表示16位Encoding。调用静态属性和实例化一个子类的效果是一样的,如下代码。
1 Encoding encodingUTF8 = Encoding.UTF8;
2 Encoding encodingUTF8 = new UTF8Encoding(true);
以下是这些类型的一些简单描述: