如何让C++https下载代理知道

  • 本文关键字:代理 下载 C++https c# c++
  • 更新时间 :
  • 英文 :


我正试图用C++重写一个内部应用程序,但遇到了一个减速带。我的C++代码无法通过我们公司的代理访问,而C#应用程序是。我已经附上了这两个代码,所以你可以看到区别。

C++不是我的主要语言,所以我的问题是:有人知道如何让C++版本的代理知道吗?

C++:

using namespace std;
string downloader(char *url) {
    IStream *stream;
    HRESULT result = URLOpenBlockingStream(0, url, &stream, 0, 0);
    if (result != 0) {
        return "";
    }
    char buffer[100];
    unsigned long bytesRead;
    stringstream ss;
    stream->Read(buffer, 100, &bytesRead);
    while (bytesRead > 0U) {
        ss.write(buffer, (long long)bytesRead);
        stream->Read(buffer, 100, &bytesRead);
    }
    stream->Release();
    string resultString = ss.str();
    cout << resultString << endl;
    return resultString;
}

以下是支持代理的C#代码:

public static  void DownloadString(string address)
      {
          WebClient client = new WebClient();
          client.Proxy = WebRequest.GetSystemWebProxy();
          client.Proxy.Credentials = CredentialCache.DefaultCredentials;
          string website = client.DownloadString(address);
                
      }

WinHttpGetIEProxyConfigForCurrentUser可以为您提供internet explorer的代理配置,UrlMkSetSessionOption可以设置代理选项。

只要在谷歌上搜索你正在使用的功能,你就会很容易找到文档。

最新更新