gpt4 book ai didi

C# 出现 500 错误,VB 没有?

转载 作者:行者123 更新时间:2023-12-02 21:56:41 24 4
gpt4 key购买 nike

我一直在绞尽脑汁想这个问题,但想不出一个很好的理由,但是当我运行我的 vb.net 代码时,它执行得很好。我将其重新加工成 C#(学习过程),并在 GetResponse 行收到“服务器返回 500”错误。

非常感谢任何建议!

C# 代码 - 损坏

string SpaceURL = "https://1.1.1.1/api/space/device-management/discover-devices";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(SpaceURL);
request.ContentType = "application/vnd.net.juniper.space.device-management.discover-devices+xml;version=1;charset=UTF-8";
request.Accept = "*/*";
request.Headers.Add("Authorization: Basic authcode");
request.Method = "POST";

//Get the request text for stream writer
CommonFunctions objCF = new CommonFunctions();
string strRequest = objCF.SerializeObject(this,true,false);

StreamWriter sw = new StreamWriter(request.GetRequestStream());
sw.Write(strRequest);

HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();

StreamReader sr = new StreamReader(response.GetResponseStream());

return sr.ReadToEnd();

下面的 VB.net 代码运行良好

Dim url As String
Dim request As HttpWebRequest
Dim response As HttpWebResponse = Nothing
Dim reader As StreamReader

url = "https://1.1.1.1/api/space/device-management/discover-devices"
request = DirectCast(WebRequest.Create(url), HttpWebRequest)
request.ContentType = "application/vnd.net.juniper.space.device-management.discover-devices+xml;version=1;charset=UTF-8"
request.Accept = "*/*"
request.Headers.Add("Authorization: Basic authcode=")
request.Method = "POST"
Dim requesttext As String = "<systemDiscoveryRule><ruleName>testdiscovery</ruleName><ipAddressDiscoveryTarget><ipAddress>" & txtIPAddress.Text & "</ipAddress></ipAddressDiscoveryTarget><usePing>true</usePing><useSnmp>false</useSnmp><snmpV1Setting><communityName>nsn-space</communityName></snmpV1Setting><manageDiscoveredSystemsFlag>true</manageDiscoveredSystemsFlag><sshCredential><userName>username</userName><password>password</password></sshCredential><tagNewlyManagedDiscoveredSystemsFlag>true</tagNewlyManagedDiscoveredSystemsFlag><tagForNewlyManagedDiscoveredSystems>store-devices</tagForNewlyManagedDiscoveredSystems></systemDiscoveryRule>"
Dim sw As New System.IO.StreamWriter(request.GetRequestStream)
sw.Write(requesttext)
sw.Dispose()
response = DirectCast(request.GetResponse(), HttpWebResponse)
reader = New System.IO.StreamReader(response.GetResponseStream())

我还将内联 xml 与在 C# 版本中通过序列化类对象创建的 XML 进行了比较(更加清晰!)

最佳答案

你能检查一下这一行

request.Headers.Add("Authorization: Basic authcode');

应该阅读

request.Headers.Add("Authorization: Basic authcode");

引号不匹配。

关于C# 出现 500 错误,VB 没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17656691/

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