C# WebClient上载文件远程服务器返回错误:(400)请求错误
尝试上载xml文件时,此特定服务器返回错误(上面的异常)。 我在另一台服务器()上尝试了另一个url,代码运行正常。 我的同事能够通过Perl脚本上传相同的xml文件 我的问题是:是否有其他方法上载文件内容?尝试上载数据,上载字符串,得到相同的错误C# WebClient上载文件远程服务器返回错误:(400)请求错误,c#,system.net,C#,System.net,尝试上载xml文件时,此特定服务器返回错误(上面的异常)。 我在另一台服务器()上尝试了另一个url,代码运行正常。 我的同事能够通过Perl脚本上传相同的xml文件 我的问题是:是否有其他方法上载文件内容?尝试上载数据,上载字符串,得到相同的错误 // Create the xml document file Byte[] buffer = new Byte[ms.Length]; buffer = ms.ToArray(); xmlOutput = System.Text.Encoding.
// Create the xml document file
Byte[] buffer = new Byte[ms.Length];
buffer = ms.ToArray();
xmlOutput = System.Text.Encoding.UTF8.GetString(buffer);
string filePath = @"c:\my.xml");
File.WriteAllText(filePath, xmlOutput);
try
{
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
using (WebClient client = new WebClient())
{
byte[] rawResponse = client.UploadFile(url, filePath);
string response = System.Text.Encoding.ASCII.GetString(rawResponse);
}
}
catch (WebException ex)
{
}
catch (Exception ex)
{
}
使用UploadString并添加标头修复了400错误 然后必须添加utf8编码参数以修复500错误
client.Headers.Add("Content-Type", "text/xml");
client.Encoding = Encoding.UTF8;
string response = client.UploadString(CRMIntegrationURL, "POST", xmlOutput);
string s = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<Program xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"loyalty.xsd\">" +
"</Program>";
string test = client.UploadString(url, s);
上载字符串:
Content-Type: text/xml
使用UploadString并添加标头修复了400错误 然后必须添加utf8编码参数以修复500错误
client.Headers.Add("Content-Type", "text/xml");
client.Encoding = Encoding.UTF8;
string response = client.UploadString(CRMIntegrationURL, "POST", xmlOutput);
string s = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<Program xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"loyalty.xsd\">" +
"</Program>";
string test = client.UploadString(url, s);
上载字符串:
Content-Type: text/xml
使用UploadString并添加标头修复了400错误 然后必须添加utf8编码参数以修复500错误
client.Headers.Add("Content-Type", "text/xml");
client.Encoding = Encoding.UTF8;
string response = client.UploadString(CRMIntegrationURL, "POST", xmlOutput);
string s = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<Program xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"loyalty.xsd\">" +
"</Program>";
string test = client.UploadString(url, s);
上载字符串:
Content-Type: text/xml
使用UploadString并添加标头修复了400错误 然后必须添加utf8编码参数以修复500错误
client.Headers.Add("Content-Type", "text/xml");
client.Encoding = Encoding.UTF8;
string response = client.UploadString(CRMIntegrationURL, "POST", xmlOutput);
string s = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<Program xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"loyalty.xsd\">" +
"</Program>";
string test = client.UploadString(url, s);
上载字符串:
Content-Type: text/xml
我在向XDB发布测量的文本文件时也遇到了同样的问题。接受的答案帮助很大,但我还必须去掉文本内容中的
\r
字符,以消除400错误请求
错误。我不知道这是InfluxDB的一般规则,还是只有在unix系统上安装InfluxDB(我的例子是Ubuntu)时才会这样
您可以在写入之前设置换行符,如下所述:
或者您可以在以后使用
text=text删除\r
。替换(“\r”和“”)代码>我在向XDB发布测量文本文件时遇到了相同的问题。接受的答案帮助很大,但我还必须去掉文本内容中的\r
字符,以消除400错误请求
错误。我不知道这是InfluxDB的一般规则,还是只有在unix系统上安装InfluxDB(我的例子是Ubuntu)时才会这样
您可以在写入之前设置换行符,如下所述:
或者您可以在以后使用text=text删除\r
。替换(“\r”和“”)代码>我在向XDB发布测量文本文件时遇到了相同的问题。接受的答案帮助很大,但我还必须去掉文本内容中的\r
字符,以消除400错误请求
错误。我不知道这是InfluxDB的一般规则,还是只有在unix系统上安装InfluxDB(我的例子是Ubuntu)时才会这样
您可以在写入之前设置换行符,如下所述:
或者您可以在以后使用text=text删除\r
。替换(“\r”和“”)代码>我在向XDB发布测量文本文件时遇到了相同的问题。接受的答案帮助很大,但我还必须去掉文本内容中的\r
字符,以消除400错误请求
错误。我不知道这是InfluxDB的一般规则,还是只有在unix系统上安装InfluxDB(我的例子是Ubuntu)时才会这样
您可以在写入之前设置换行符,如下所述:
或者您可以在以后使用text=text删除\r
。替换(“\r”和“”)代码>您是否安装并检查了发送的请求?是否安装并检查了发送的请求?是否安装并检查了发送的请求?是否安装并检查了发送的请求?