Fiddler只看到HTTP响应,而不是请求

时间:2013-07-26 07:18:12

标签: delphi http delphi-xe2 fiddler

我有一个发送和接收测试应用程序。发件人使用TIdHTTP:

IdHTTP.ProxyParams.ProxyServer := '127.0.0.1';
IdHTTP.ProxyParams.ProxyPort := 8888;
IdHTTP.Request.ContentType := 'application/json';
..
lResponse := IdHTTP.Post('http://127.0.0.1:8085/ttposttest',lRequest);  // Or localhost:8085

问题:在Fiddler中,我看到响应来自接收者,但没有发出请求。

我是否也必须在接收应用中设置代理?
如果是这样,代码中的位置?
Receiver是TWebModule上的TWebAction,带有处理程序:

procedure TWebModuleWebServices.WebModuleWebServicesTTPostTestAction(
  Sender: TObject; Request: TWebRequest; Response: TWebResponse;
  var Handled: Boolean);
var S: String;
begin
   S := Request.Content;
   Handled := true;
end; 

它使用TIdHTTPWebBrokerBridge:

  FWebBrokerBridge := TIdHTTPWebBrokerBridge.Create(Self);
  // Register web module class.
  FWebBrokerBridge.RegisterWebModuleClass(TWebModuleWebServices);
  // Settings:
  FWebBrokerBridge.DefaultPort := 8085;        

1 个答案:

答案 0 :(得分:4)

我怀疑你对Fiddler UI感到困惑;如果没有看到生成该响应的请求,Fiddler就无法看到响应。在Fiddler中,选择左侧列表中的Web会话。双击它。 Inspectors 标签将在右侧打开。 “检查员”选项卡的顶部是“请求检查器”选项卡,底部是“响应检查器”选项卡。

如果由于某种原因似乎缺少“请求检查器”选项卡,请从顶部向下拖动浅蓝色分隔线,以便它们再次可见。如果您没有看到该行,请在按住SHIFT键的同时重新启动Fiddler,这会将Fiddler重置为其默认的UI布局。