Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpWebRequest虚拟按钮单击_C#_.net_Httpwebrequest - Fatal编程技术网

C# HttpWebRequest虚拟按钮单击

C# HttpWebRequest虚拟按钮单击,c#,.net,httpwebrequest,C#,.net,Httpwebrequest,我有我的html php网页,有表单、输入和sumbit按钮。对于html请求,我试图填充一些字段并按下一个按钮,但我不能。 以下是C#代码: 和2个php文件: request.php <html> <head> <title>HTTP Request</title> </head> <body> <form action ="http://localhost/response.php" method ="POST"

我有我的html php网页,有表单、输入和sumbit按钮。对于html请求,我试图填充一些字段并按下一个按钮,但我不能。 以下是C#代码:

和2个php文件: request.php

<html>
<head>
<title>HTTP Request</title>
</head>
<body>
<form action ="http://localhost/response.php" method ="POST">
<input type="text" name="name">
<input type="password" name="pass">
<select name="country">
<option value="-1" selected="selected">Select State/Country</option>
<option value="82">Select 1</option>
<option value="83">Select 2</option>
</select>
<input type="submit" name="btn">
</form>
</body>
</html>

HTTP请求
选择州/国家/地区
选择1
选择2
response.php

<?php
   $data = $_POST["name"];
   echo $data;
?>

是我网站的链接吗

那么,我怎样才能按下这个按钮呢?

我在中试过这个按钮,它成功了:

void Main()
{
    var request = (HttpWebRequest)WebRequest.Create("http://128.75.49.209/response.php");
    request.Method = WebRequestMethods.Http.Post;
    request.ContentType = "application/x-www-form-urlencoded";
    using (var stream = request.GetRequestStream())
    {
        var buffer = Encoding.UTF8.GetBytes("name=asd&pass=asd&country=82&btn=Submit+Query");
        stream.Write(buffer,0,buffer.Length);
    }
    var response = (HttpWebResponse)request.GetResponse();
    string result = String.Empty;
    using (var reader = new StreamReader( response.GetResponseStream()))
    {
        result = reader.ReadToEnd();
    }
    Console.WriteLine(result);
}

问题是您在代码中使用了
request.php
而不是
response.php

您没有!您只需要将数据发布到response.php—您需要模拟客户端正在做的事情—当您单击按钮时,它会将数据发布到服务器。使用类似Fiddler的工具查看请求的外观。一旦你知道了这一点,那么你已经拥有的c代码就是一个好的开始。
void Main()
{
    var request = (HttpWebRequest)WebRequest.Create("http://128.75.49.209/response.php");
    request.Method = WebRequestMethods.Http.Post;
    request.ContentType = "application/x-www-form-urlencoded";
    using (var stream = request.GetRequestStream())
    {
        var buffer = Encoding.UTF8.GetBytes("name=asd&pass=asd&country=82&btn=Submit+Query");
        stream.Write(buffer,0,buffer.Length);
    }
    var response = (HttpWebResponse)request.GetResponse();
    string result = String.Empty;
    using (var reader = new StreamReader( response.GetResponseStream()))
    {
        result = reader.ReadToEnd();
    }
    Console.WriteLine(result);
}