微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用转发 URL 执行 302 重定向

如何解决如何使用转发 URL 执行 302 重定向

我们正在使用 Xamarin 和 UITest 为我们的应用程序创建 UI 测试。

我们正在使用 Azure API 管理进行集成,并尝试模拟我们的身份验证过程。 我们正在使用 Xamarin Essentials WebAuthenticator,它会打开外部浏览器以执行两步 OAuth 并加载登录页面

由于 UITest 无法控制应用程序本身之外的任何内容,我们需要通过将 302 重定向返回到控制应用程序来让 API 管理响应,并使用我们模拟的测试身份验证令牌。

我尝试创建一个返回 302 的模拟响应,其中包含一个 Location 标头,其中包含应用程序返回 url 的值。但是,每当我在 APIM 测试页面中对此进行测试时,它只会返回 200 OK。

是否可以向 APIM 发出 GET 请求,APIM 执行 302 重定向到指定的 uri,并带有模拟测试数据的主体?

解决方法

您可以尝试使用退货响应政策。 类似于此示例的内容:

<when condition="@(context.Request.OriginalUrl.Scheme == Uri.UriSchemeHttp)">
            <return-response>
                <set-status code="302" reason="Temporary Redirect" />
                <set-header name="Location" exists-action="override">
                    <value>@{
                    var uri = context.Request.OriginalUrl;

                    return Uri.UriSchemeHttps + "://" + uri.Host + uri.Path + uri.QueryString;
                    }</value>
                </set-header>
            </return-response>
        </when>

供您参考:https://docs.microsoft.com/en-us/azure/api-management/api-management-advanced-policies#ReturnResponse

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?