XML-我发送到 API 的文件被编码,如何防止这种情况发生?
XML-File i send to the API gets encoded, how to prevent that?
我正在使用 API 下载 XML 文件并阅读,效果很好。
现在我想添加一些东西并上传这个 XML- 文件的新版本,但是它被编码并且无法用 XML Reader 读取它。
它看起来像这样:
%3C%3Fxml%20version%3D%221.0%22%3F%3E%0D%0A%3C
我知道我可以使用 HttpUtility.UrlDecode
对其进行编码,但我想要一个更好的解决方案,因为 XML 以这种方式存储在服务器上,这不是我想要的。
这里是我用来发送请求的代码:
string test = xmlFile.Insert(index, topic);
// byte[] bytes = Encoding.Default.GetBytes(test);
// test = Encoding.UTF8.GetString(bytes);
MessageBox.Show(test);
IConsumerRequest getFileRequest = consumerSession
.Request()
.ForMethod("PUT")
.ForUri(new Uri(apiEndpoint + "/1/documents/" + documentid + "/upload"))
.WithBody(test)
.SignWithToken(accessToken);
string getFileResponse = getFileRequest.ToString();
我用的是DevDefined.OAuth.Framework
.
知道了,必须这样做:
IConsumerRequest getFileRequest = consumerSession
.Request()
.ForMethod("PUT")
.ForUri(new Uri(apiEndpoint + "/1/documents/" + documentid + "/upload"))
.WithRawContent(test, Encoding.UTF8)
.WithRawContentType("text/xml")
.SignWithToken(accessToken);
我正在使用 API 下载 XML 文件并阅读,效果很好。
现在我想添加一些东西并上传这个 XML- 文件的新版本,但是它被编码并且无法用 XML Reader 读取它。 它看起来像这样:
%3C%3Fxml%20version%3D%221.0%22%3F%3E%0D%0A%3C
我知道我可以使用 HttpUtility.UrlDecode
对其进行编码,但我想要一个更好的解决方案,因为 XML 以这种方式存储在服务器上,这不是我想要的。
这里是我用来发送请求的代码:
string test = xmlFile.Insert(index, topic);
// byte[] bytes = Encoding.Default.GetBytes(test);
// test = Encoding.UTF8.GetString(bytes);
MessageBox.Show(test);
IConsumerRequest getFileRequest = consumerSession
.Request()
.ForMethod("PUT")
.ForUri(new Uri(apiEndpoint + "/1/documents/" + documentid + "/upload"))
.WithBody(test)
.SignWithToken(accessToken);
string getFileResponse = getFileRequest.ToString();
我用的是DevDefined.OAuth.Framework
.
知道了,必须这样做:
IConsumerRequest getFileRequest = consumerSession
.Request()
.ForMethod("PUT")
.ForUri(new Uri(apiEndpoint + "/1/documents/" + documentid + "/upload"))
.WithRawContent(test, Encoding.UTF8)
.WithRawContentType("text/xml")
.SignWithToken(accessToken);