在以下 C# 程序中,CURL 无法解析公司内部的本地服务器。有用:
- 对于外部 URL(例如http://www.google.com)
- 当使用 WebRequest 而不是 CURL 时(代码中的第一部分)
这是程序:
using SeasideResearch.LibCurlNet;
using System.Net;
using System.IO;
// ... class and method declaration
// first part - runs just fine, always
WebRequest r = WebRequest.Create("http://mycompanyserver");
using (Stream s = r.GetResponse().GetResponseStream())
{
StreamReader sr = new StreamReader(s, Encoding.UTF8);
string str;
while ((str = sr.ReadLine()) != null)
{
Console.Out.WriteLine(str);
}
}
// second part - returns CURLE_COULDNT_RESOLVE_HOST for simple URLs like http://hostname, but works for http://hostname.mycompany.com
Curl.GlobalInit((int)CURLinitFlag.CURL_GLOBAL_ALL);
Easy easy = new Easy();
easy.SetOpt(CURLoption.CURLOPT_URL, "http://mycompanyserver");
CURLcode result = easy.Perform();
easy.Cleanup();
Curl.GlobalCleanup();
我已经做了两天了,测试,谷歌搜索,失败了。太奇怪了,它只对公司内部的 URL 失败。当我从命令行使用 curl 时,它可以完美运行(“curl -v http://mycompanyserver ”)