【问题标题】:A HttpRequest Redirect Exception in UWP ProjectUWP 项目中的 HttpRequest 重定向异常
【发布时间】:2017-02-22 18:23:04
【问题描述】:

代码如下

public static async Task<string> getForwardUrl(string url)
{
    try
    {
        HttpClient client = new HttpClient();
        HttpRequestMessage forwardRequest = new HttpRequestMessage();

        forwardRequest.RequestUri = new Uri(url);
        HttpResponseMessage Message = await client.SendAsync(forwardRequest);
        return Message.RequestMessage.RequestUri.OriginalString;
    }
    catch (Exception ex)
    {
        WriteLine(ex.Message);
    }
    //...
}

当我在 uwp 项目中运行它时,会发生异常。这个异常的信息显示重定向请求会将安全连接更改为不安全的连接(之后我检查了登录页面的URL,它是https,但我登录后的页面是http)。

我发现了一个类似的问题,他建议使用Windows.Web.Http 而不是System.Net.Http,但我收到了相同的错误消息。

感谢您的回复

编辑: URL 是:https://tinyurl.com /57muy(删除空格)或用 tinyurl.com 缩短 http url!问题只发生在短 http 端! 错误:发送请求时发生错误。内部消息:找不到此错误的错误消息

【问题讨论】:

  • 我用你提到的 url tinyurl.com/KindleWireless 进行了测试,但是我这边一切正常。当我将System.Net.Http 与您的代码一起使用时没有错误。您能否分享一个可以重现您的问题的minimal reproducible example
  • 有了这个 URL,这段代码就可以正常工作,因为目标指向一个 https 链接。使用 HTTP 再试一次。试试看:'tinyurl.com/57muy'
  • 你想完成什么?看起来您只是想知道 URL,而不是实际对数据执行 GET 请求?
  • 是的,我只需要转发的 url,不需要数据。
  • 我对您使用的项目有点困惑。在 UWP 中进行测试时,我会遇到与您提到的相同的错误。但是,您已声明您正在使用 WPF。但在 WPF 中没有错误。那么你真正使用的项目是什么?

标签: c# .net uwp httpclient


【解决方案1】:

根据您的描述,我假设您正在开发 UWP 应用。正如您所提到的,我们在这里遇到了异常,因为重定向请求会将安全连接更改为不安全的连接。为了解决这个问题,我们可以关闭自动重定向,自己做重定向。

例如:

public static async Task<string> getForwardUrl(string url)
{
    var handler = new System.Net.Http.HttpClientHandler();
    handler.AllowAutoRedirect = false;

    var client = new System.Net.Http.HttpClient(handler);

    var response = await client.GetAsync(url);

    if (response.StatusCode == System.Net.HttpStatusCode.Redirect || response.StatusCode == System.Net.HttpStatusCode.Moved)
    {
        return response.Headers.Location.AbsoluteUri;
    }

    return url;
} 

【讨论】:

    猜你喜欢
    • 2019-10-10
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 2020-12-19
    相关资源
    最近更新 更多