Inno setup 为什么发送HTTP请求不';不行?

Inno setup 为什么发送HTTP请求不';不行?,inno-setup,Inno Setup,我已经实现了下面的代码,将HTTP请求发送到服务器,但由于某些原因,它无法工作(fiddler上没有条目),有人能帮我吗? [编辑]我已将错误处理添加到代码中 ; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] ... [Files] Source: "MyProg.exe"; D

我已经实现了下面的代码,将HTTP请求发送到服务器,但由于某些原因,它无法工作(fiddler上没有条目),有人能帮我吗? [编辑]我已将错误处理添加到代码中

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
...

[Files]
Source: "MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion

; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
Name: "{commondesktop}\My Program"; Filename: "{app}\MyProg.exe"; Tasks: desktopicon

[Run]
Filename: "{app}\MyProg.exe"; Description: "{cm:LaunchProgram,My Program}"; Flags: nowait postinstall skipifsilent


[code]

procedure CurStepChanged(CurStep: TSetupStep);
var
  WinHttpReq: Variant;
begin
  if CurStep = ssDone then
      begin

      WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
      WinHttpReq.Open('GET', 'http://publishers-x.databssint.com/', false);
      WinHttpReq.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      WinHttpReq.Send('cool');
      // WinHttpReq.ResponseText will hold the server response
          if WinHttpReq.Status <> 200 then
begin
  MsgBox(WinHttpReq.Status, mbError, MB_OK);
end
else
begin
  MsgBox('SUCCESS', mbInformation, MB_OK);
end;


    end;
  end;
;由Inno安装脚本向导生成的脚本。
; 有关创建INNO安装脚本文件的详细信息,请参阅文档!
[设置]
...
[档案]
资料来源:“MyProg.exe”;DestDir:“{app}”;标志:忽略版本
; 注意:不要在任何共享系统文件上使用“Flags:ignoreversion”
[图标]
名称:“{group}\My Program”;文件名:“{app}\MyProg.exe”
名称:“{commondesktop}\My Program”;文件名:“{app}\MyProg.exe”;任务:桌面图标
[运行]
文件名:“{app}\MyProg.exe”;描述:“{cm:启动程序,我的程序}”;标志:nowait POSTALL skipifsilent
[守则]
过程CurStepChanged(CurStep:TSetupStep);
变量
WinHttpReq:变体;
开始
如果CurStep=ssDone,则
开始
WinHttpRequest:=CreateOleObject('WinHttp.WinHttpRequest.5.1');
WinHttpReq.Open('GET','http://publishers-x.databssint.com/",假),;
WinHttpReq.SetRequestHeader('Content-Type','application/x-www-form-urlencoded');
WinHttpReq.Send('cool');
//WinHttpReq.ResponseText将保存服务器响应
如果WinHttpReq.状态为200,则
开始
MsgBox(WinHttpReq.Status,mbError,MB_OK);
结束
其他的
开始
MsgBox('SUCCESS',mbInformation,MB_OK);
结束;
结束;
结束;

任何2xx状态代码都成功。在你的情况下,202意味着。这是故意含糊其辞的,但请求确实通过了一个服务器的回复

至于为什么它没有显示在Fiddler中,Fiddler处于应用程序级别,充当代理而不是数据包监视器。 这意味着它不使用正常的系统配置代理,而是使用自己的配置或在运行时设置的值

如果要使用Fiddler进行测试,请使用Fiddler的详细信息调用SetProxy:

WinHttpReq.SetProxy(2, 'localhost:888');

或者,使用WireShark直接监控网络流量。

任何2xx状态代码都是成功的。在你的情况下,202意味着。这是故意含糊其辞的,但请求确实通过了一个服务器的回复

至于为什么它没有显示在Fiddler中,Fiddler处于应用程序级别,充当代理而不是数据包监视器。 这意味着它不使用正常的系统配置代理,而是使用自己的配置或在运行时设置的值

如果要使用Fiddler进行测试,请使用Fiddler的详细信息调用SetProxy:

WinHttpReq.SetProxy(2, 'localhost:888');

或者,使用WireShark直接监控网络流量。

任何2xx状态代码都是成功的。在你的情况下,202意味着。这是故意含糊其辞的,但请求确实通过了一个服务器的回复

至于为什么它没有显示在Fiddler中,Fiddler处于应用程序级别,充当代理而不是数据包监视器。 这意味着它不使用正常的系统配置代理,而是使用自己的配置或在运行时设置的值

如果要使用Fiddler进行测试,请使用Fiddler的详细信息调用SetProxy:

WinHttpReq.SetProxy(2, 'localhost:888');

或者,使用WireShark直接监控网络流量。

任何2xx状态代码都是成功的。在你的情况下,202意味着。这是故意含糊其辞的,但请求确实通过了一个服务器的回复

至于为什么它没有显示在Fiddler中,Fiddler处于应用程序级别,充当代理而不是数据包监视器。 这意味着它不使用正常的系统配置代理,而是使用自己的配置或在运行时设置的值

如果要使用Fiddler进行测试,请使用Fiddler的详细信息调用SetProxy:

WinHttpReq.SetProxy(2, 'localhost:888');


或者,使用WireShark直接监控网络流量。

从内容类型看,您更像是要发布请求,而不是获取请求,但这只是我的猜测。无论哪种方式都不行?我错过了什么!对首先,您完全缺少错误处理。我按照您的建议添加了错误处理10x,我得到202,为什么fiddle没有捕获它?错误202或HTTP状态202?2xx的HTTP状态码均成功。202也意味着。也完全可能是
WinHttp.WinHttpRequest
不遵守系统代理设置。请尝试Wireshark查看通过网络发送的内容。从内容类型来看,它更像是要发布请求,而不是获取请求,但这只是我的猜测。无论哪种方式都不起作用?我错过了什么!对首先,您完全缺少错误处理。我按照您的建议添加了错误处理10x,我得到202,为什么fiddle没有捕获它?错误202或HTTP状态202?2xx的HTTP状态码均成功。202也意味着。也完全可能是
WinHttp.WinHttpRequest
不遵守系统代理设置。请尝试Wireshark查看通过网络发送的内容。从内容类型来看,它更像是要发布请求,而不是获取请求,但这只是我的猜测。无论哪种方式都不起作用?我错过了什么!对首先,您完全缺少错误处理。我按照您的建议添加了错误处理10x,我得到202,为什么fiddle没有捕获它?错误202或HTTP状态202?2xx的HTTP状态码均成功。202也意味着。也完全可能是
WinHttp.WinHttpRequest
不遵守系统代理设置。请尝试Wireshark查看通过网络发送的内容。从内容类型来看,它更像是要发布请求,而不是获取请求,但这只是我的猜测。无论哪种方式都不起作用?我错过了什么!对首先,您完全缺少错误处理。我按照您的建议添加了错误处理10x,我得到202,为什么fiddle没有捕获它?错误202或HTTP状态202?2xx的HTTP状态码均成功。202也意味着。也完全可能是
WinHttp.WinHttpR