【问题标题】:How to handle HttpWebRequest redirect with non-ascii characters如何使用非 ascii 字符处理 HttpWebRequest 重定向
【发布时间】:2011-10-05 00:38:21
【问题描述】:

我正在编写一个应用程序,它使用 HttpWebRequest 类获取一组 URL 的服务器响应代码。我今天遇到了一个给我带来问题的 URL。

有问题的网址是http://blip.tv/file/5312019

当我在 Internet Explorer 中加载此 URL 时,它会正确地将我重定向到 http://blip.tv/sorawut/money-talk-เม่า-นักเขียนการ์ตูนหุ้น-5329374。但是在使用 HttpWebRequest 类时,它会出现重定向问题。

如果我将 AllowAutoRedirect 设置为 false 并检查 response.Headers 集合中的 Location 元标记,它会显示时髦的 URL http://blip。电视/sorawut/money-talk-à¹à¸¡à¹à¸²-à¸à¸±à¸à¹à¸à¸µà¸¢à¸à¸à¸²à¸£à¹à¸à¸¹à¸à¸«à¸¸ à¹à¸-5329374。当请求尝试重定向到此 URL 时,它会导致无限重定向循环并最终抛出 WebException 说“尝试了太多自动重定向”。

我尝试将这个时髦的 URL 粘贴到 Internet Explorer 中,它会自动将其更改为正确的重定向 URL 并成功加载页面。

那么,我需要做什么才能让我的 HttpWebRequest 为这个特定的 URL 返回状态码 200? (因为它是成功重定向后有效且有效的 URL)

【问题讨论】:

    标签: httpwebrequest


    【解决方案1】:

    在你的配置文件中试试这个

    <configuration>
       <uri>
         <idn enabled="All" />
         <iriParsing enabled="true" />
       </uri>
    </configuration>
    

    在此处查看国际资源标识符支持部分 -> http://msdn.microsoft.com/en-us/library/system.uri.aspx

    【讨论】:

      猜你喜欢
      • 2010-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 2013-07-13
      • 1970-01-01
      • 2018-11-03
      • 1970-01-01
      相关资源
      最近更新 更多