我有一个ASP.NET WebForms应用程序(发件人),它将WebClient发布请求发送到同一台开发机器上的另一个ASP.NET应用程序(接收方)。通过单击发件人应用程序中的按钮启动WebClient帖子。它是一个测试应用程序,表单只有按钮。我可以从Fiddler的按钮看到帖子,但我没有看到来自WebClient方法的帖子请求。的为什么吗
我知道WebClient帖子运行成功,因为断点在接收器应用程序中被点击,而Forms集合具有来自发件人应用程序的WebClient请求的输入字段的值。 (使用Windows 8.1)
更新这是电话:
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
var data = "FirstName=John";
var result = client.UploadString("http://localhost/testform/default.aspx", "POST", data);
Console.WriteLine(result);
}
答案 0 :(得分:2)
.NET和IE(版本9之前)没有通过任何代理向localhost发送请求。有三种可能的解决方案:
http://<machine name>/testform/default.aspx
ipv4.fiddler
添加到网址:http://localhost.fiddler/testform/default.aspx
static function OnBeforeRequest(oSession:Fiddler.Session){
if (oSession.HostnameIs("MYAPP")) {
oSession.host = "<put your ip address and port here>";
}
}
然后您应该能够通过http://myapp/testform/default.aspx
参考Problem: Traffic sent to http://localhost or http://127.0.0.1 is not captured
。
答案 1 :(得分:0)
可能是多件事。这是一些可能性