gpt4 book ai didi

c# - Mono 中的 NameResolutionFailure 而不是 .NET

转载 作者:太空狗 更新时间:2023-10-29 21:58:43 28 4
gpt4 key购买 nike

我正在使用 C# 发出 HTTPS POST 请求(与 HTTP 相同的问题)

byte[] byteArray = Encoding.UTF8.GetBytes("var1=blah&var2=hah");
HttpWebRequest request = (HttpWebRequest)(WebRequest.Create("https://www.example.com"));
request.Credentials = CredentialCache.DefaultCredentials;
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
request.Method = "POST";
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();

当我不必通过代理时,前面的代码在 .NET 和 Mono 中都工作得很好。当我必须使用代理时,它在 .NET 上运行时有效,但在 Mono 中失败并显示以下内容

WebException: Error: NameResolutionFailure
at System.Net.HttpWebRequest.EndGetRequestStream (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
at System.Net.HttpWebRequest.GetRequestStream () [0x00000] in <filename unknown>:0

此外,在具有相同代理配置的浏览器中运行也能正常工作。为什么 Mono 会抛出 NameResolutionFailure 而 .NET 不会?

有一个类似的 stackoverflow 问题,它解决了在创建请求时使用直接 ip,然后将域添加到 request.Host 的问题。但是,我必须通过的代理拒绝这种请求。帮助!

操作系统是Windows 7,Mono版本是2.6.5

最佳答案

提示:首先检查您手机中的网页浏览情况。如果是同样的情况——那你就得担心了。我有同样的情况,当 EMULATOR 没有网络权限时,它总是发生。在普通设备上试用。

关于c# - Mono 中的 NameResolutionFailure 而不是 .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12922062/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com