Fiddler可以回复内容托管在另一个服务器上?

2答案 64的浏览量
经典的提琴手
亚历克斯
最高的成就
1级
亚历克斯问上2023年1月18日08:31点
当web请求的URL包含某个关键字时,我使用以下代码为本地HTML文件提供服务。

if (ossession . uriconcontains ("keyword")) {ossession ["x-replywithfile"] = "D:/content.html";}

而不是一个本地文件,它是可能的小提琴与网页托管在远程服务器上的答复?像这样的东西……

if (ossession . uriconcontains ("keyword")) {ossession ["x-replywithfile"] = "https://www.domain.com/content.html";}

谢谢你!

亚历克斯

2答案, 1被接受。

排序
0
接受
尼克Iliev
Telerik团队
在回答2023年1月20日;早上06:30

嗨,亚历克斯,

X-replywithfile autoresponder标志使用本地文件系统,不能访问通过HTTP协议提供的在线资源。您需要通过HTTP请求显式访问此资源,解码其主体,然后使用它来修改您自己的响应主体。

问候,
尼克Iliev
进步Telerik

manbets登录虚拟教室,免费的自定进度的技术培训,让你跟上速度与Telerik和剑道UI产品迅速得到了一个全新的面貌+新的和改进的内容,包括一个全新的Blazor课程!点击这里查看https://learn.telerik.com/

0
亚历克斯
最高的成就
1级
在回答2023年1月20日;54所以我
您需要通过HTTP请求显式地访问该资源

这里有FiddlerScript指令吗?

我在网上搜索了几分钟,我所找到的这是,但本文并没有提到如何从脚本编写HTTP(S)请求。

谢谢你!

亚历克斯
尼克Iliev
Telerik团队
评论2023年1月20日;十二24点|编辑

您可以修改请求或响应,如下所示在本文档文章中.您可以将所有请求从一个服务器重定向到另一个服务器,如下所示:

//将一个服务器上的所有请求指向另一个服务器上的相同端口如果(oSession。HostnameIs (“www.example.com”{session .hostname=“test.example.com”;}//将一个端口的所有请求指向不同服务器上的不同端口如果(oSession.host = =“www.example.com: 8080”) {session .host=“test.example.com: 9090”;}//将对一个服务器的所有请求指向另一个服务器,包括HTTPS隧道//重定向流量,包括HTTPS隧道如果(oSession。HTTPMethodIs (“连接”) &&;PathAndQuery = =“www.example.com: 443”{session。PathAndQuery =“beta.example.com: 443”;}如果(oSession。HostnameIs (“www.example.com”oSession))。主机名=“beta.example.com”;

如果修改发生在请求执行之后,那么您应该使用utilSetResponseBody。

oSession.utilSetResponseBody (oBody);

如果需要从另一个端点获取数据,可以使用sendRequestAndWait方法发出新请求。

varoSD =System.Collections.Specialized.StringDictionary ();varnewSession = FiddlerApplication.oProxy.SendRequestAndWait(session . request . wait)头,oSession。requestBodyBytes oSD,);如果(newSession。responseCode = =200) {//自定义代码

作为旁注,在我们关于Rules选项卡与FiddlerScript的对话的上下文中。这是一个例子,上面可以很容易地实现使用规则选项卡(在Fiddler Everywhere)或AutoResponder(在Fiddler Classic)。

在《Fiddler Everywhere》中有一个类似的规则:

亚历克斯
最高的成就
1级
评论2023年1月20日;01:06点

我相信“sendRequestAndWait”指令是我所需要的。

谢谢你!

标签
经典的提琴手
亚历克斯
最高的成就
1级
的答案,
尼克Iliev
Telerik团队
亚历克斯
最高的成就
1级
分享这个问题
Baidu
map