WebClient - C# WindowsForms를 통해 양식을 제출하려고하지만 아직받지 못했습니다.두 가지 양식을 제출하고 PDF 파일을 다운로드하는 방법
내 HTTP 페이지 순서는 다음과 같습니다 Username_Form> Password_Form>을 얻을 다음
<!-- 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 파일을 다운로드 모든 형태를 채우기 위해 두 번째 페이지로 리디렉션하고 마지막 페이지를 열고 내 PDF 파일을 다운로드하십시오.
문제는 첫 페이지에 제출하지 못하는 것입니다. 그러나 내 'responseString이'작성 모든 형태와 정확히 동일한 페이지 (입력 유형 = "텍스트"이름 = "사용자 이름"값 = "User01과") 인
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);
}
}
과하지 않습니다 제출 : 내가 뭐하는 거지 두 번째 페이지 (Password_Form.html)를 보거나 대화 할 수없는 것처럼 보입니다.
내가 빠진 부분에 이상이 있습니까?
@GrokSrc에 감사드립니다.하지만 'WebClient'를 사용하고 있으면 상태를 얻을 수 없습니다. 나는 노력해 왔지만,'var urlSenha = "http://test_something.com:8080/AgenciaWeb/autenticar/validarSenha.do"; var valuesSenha = 새로운 NameValueCollection(); 값 센나 [ "senha"] = 센나; var responseSenha = client.UploadValues (urlSenha, "POST", valuesSenha);'내 (var client = new WebClient())를 사용하고 있지만 ... 잘 작동하지 않았습니다 ... – antoniolpfilho
더 잘할 수 있습니다. HttpWebRequest/HttpWebResponse 쌍 : https://msdn.microsoft.com/en-us/library/a3xa6ys0(v=vs.110).aspx HttpWebResponse.StatusCode를 사용하여 상태를 확인할 수 있습니다. – GrokSrc
HttpWebResquest/HttpWebResponse로 변경되었으며 '200'('OK') 상태가 나타납니다. 나는 그것이 문제가 될 수도 있다고 생각하기 때문에 'JavaScript'를 통해 문제가 리다이렉트/다음 페이지에 제출할 책임이 있다고 생각하기 시작한다 ...이 방법으로 작동하는지 모르겠다. – antoniolpfilho