2

在以下 C# 程序中,CURL 无法解析公司内部的本地服务器。有用:

  1. 对于外部 URL(例如http://www.google.com
  2. 当使用 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 ”)

4

0 回答 0