我正在尝试提交表单(通过WebClient - C #WindowsForms),但我还没有得到它。
我的HTTP页面序列是:Username_Form> Password_Form>下载PDF文件
<!-- Username_Form.html -->
<form ... action="/AgenciaWeb/autenticar/autenticar.do">
<input type="text" name="username" />
<input type="submit" value="Continue" />
</form>
<!-- Password_Form.html -->
<form ... action="/AgenciaWeb/autenticar/validarSenha.do">
<input type="password" name="password" />
<input type="submit" value="Login" />
</form>
<!-- Password_Form.html -->
<div>
<a href="PDF_download.pdf">Download</a>
</div>
所以我应该填写第一页中的所有表格,将其重定向到第二页,以填写所有表格,然后获取最终页面并开始下载我的PDF文件。
问题是我没有收到第一页的提交。我在做:
private void button1_Click(object sender, EventArgs e)
{
var url = "http://test_something.com:8080/AgenciaWeb/autenticar/autenticar.do";
using (var client = new WebClient())
{
var values = new NameValueCollection();
values["username"] = "user01";
var response = client.UploadValues(url, "POST", values);
var responseString = Encoding.Default.GetString(response);
Console.WriteLine(responseString);
}
}
然而我的回应串&#39;是填写所有表单的完全相同的页面(输入类型=&#34;文字&#34;名称=&#34;用户名&#34;值=&#34; user01&#34; )和提交不会发生,就像我看不到或与第二页互动( Password_Form.html )。
我遗失了哪些错误?
答案 0 :(得分:0)
您可能需要检查响应并查看它是否返回302状态。如果是,那么您可以转到下一页,在服务器端成功设置了值。你在这做什么要求你手动跟踪重定向。