我正在使用Curl LIB
下载韩国网站的html,但问题是我没有正确看到网站字符,下面列出了一个示例:
示例我想得到的价格是:
42,000원
但是当我得到HTML时,我得到它:
42,000��
与所有其他韩国人物相同怎么办?我在过去遇到类似的事情,但那是在HTTPWEBREQUEST
,但现在不知道如何处理这个问题。
感谢任何帮助。
更新
这是一个示例链接KOREAN SAMPLE SITE。我使用的功能如下(Curl Lib):
public string Post(string URL, string post,string refferer)
{
result = "";
try
{
string UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0";
Curl.GlobalInit((int)CURLinitFlag.CURL_GLOBAL_ALL);
Easy easy = new Easy();
Easy.WriteFunction wf = new Easy.WriteFunction(OnWriteData);
easy.SetOpt(CURLoption.CURLOPT_URL, URL);
easy.SetOpt(CURLoption.CURLOPT_REFERER, refferer);
easy.SetOpt(CURLoption.CURLOPT_TIMEOUT, "6000000");
easy.SetOpt(CURLoption.CURLOPT_WRITEFUNCTION, wf);
easy.SetOpt(CURLoption.CURLOPT_USERAGENT, UserAgent);
easy.SetOpt(CURLoption.CURLOPT_COOKIEFILE, CookieFile);
easy.SetOpt(CURLoption.CURLOPT_COOKIEJAR, CookieFile);
easy.SetOpt(CURLoption.CURLOPT_FOLLOWLOCATION, true);
easy.SetOpt(CURLoption.CURLOPT_ENCODING,Encoding.UTF8); // NOT SURE OF THIS
if (post != "")
{
easy.SetOpt(CURLoption.CURLOPT_POST, true);
easy.SetOpt(CURLoption.CURLOPT_POSTFIELDS, post);
}
if (URL.Contains("https"))
{
easy.SetOpt(CURLoption.CURLOPT_SSL_VERIFYHOST, 1);
easy.SetOpt(CURLoption.CURLOPT_SSL_VERIFYPEER, 0);
}
easy.Perform();
easy.Cleanup();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
return result;
}
我需要将获取返回html添加为:
..meta name="description" content="시크릿라벨 ♩">
..meta name="keywords" content="시크릿라벨">
而不是�
无处不在。
答案 0 :(得分:0)
这解决了我的问题:
result += Encoding.GetEncoding(949).GetString(buf);