【问题标题】:XML-File i send to the API gets encoded, how to prevent that?我发送到 API 的 XML 文件被编码,如何防止这种情况发生?
【发布时间】:2016-07-07 13:57:08
【问题描述】:

我正在使用 API 下载 XML 文件并读取它,效果很好。

现在我想添加一些东西并上传这个 XML 文件的新版本,但是它被编码并且无法使用 XML 阅读器读取它。 它看起来像这样:

%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

【问题讨论】:

    标签: c# api oauth oauth-1.0a devdefined-oauth


    【解决方案1】:

    知道了,必须这样做:

    IConsumerRequest getFileRequest = consumerSession
        .Request()
        .ForMethod("PUT")
        .ForUri(new Uri(apiEndpoint + "/1/documents/" + documentid + "/upload"))
        .WithRawContent(test, Encoding.UTF8)
        .WithRawContentType("text/xml")
        .SignWithToken(accessToken);
    

    【讨论】:

      猜你喜欢
      • 2017-04-06
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多