Я ищу страницу входа, и мне нужно создать для нее сообщение POST. Вот источник страницы входа в систему.Automate HTTPS Login
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<link rel="stylesheet" href="style.css" />
<script language="javascript" src="jquery.js"></script>
<script type="text/javascript" language="javascript">$(document).ready(function(){});</script>
</head>
<body style="background-color:#FFF; background-image:url(satellite.png); background-repeat:no-repeat; background-position:top center; max-width:100%;">
<div id="login" >
<form id="auth_user_sys" name="auth_user_sys" action="index.php" method="post">
<fieldset>
<legend>Authentication</legend>
<table>
<tr><td colspan="2"> </td></tr>
<tr><td><label>* Username </label></td><td><input id="user_sys" name="user_sys" type="text"/></td></tr>
<tr><td><label>* Password </label></td><td><input id="user_p_sys" name="user_p_sys" type="password"/></td></tr>
<tr><td colspan="2" align="center"><input id="btlog" name="btlog" type="submit" value="Connection"/></td></tr>
<tr><td colspan="2"></td></tr>
</table>
</fieldset>
</form>
</div>
</body>
</html>
Я попытался и не смог до сих пор (я использую Qt):
QUrlQuery urlQuery;
urlQuery.addQueryItem("user_sys", username);
urlQuery.addQueryItem("user_p_sys", password);
QString params = urlQuery.query();
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
request.setHeader(QNetworkRequest::ContentLengthHeader, params.length());
pNetMgr->post(request, params.toLatin1());
Я говорю это не удается, потому что ответ на POST такое же, как в ответ на оригинальный ГЭТ для этого URL-адреса, а именно для источника для страницы входа.
«не удалось», каким образом? какой ответ сервера вы получаете? –
Хороший вопрос! Это не удалось, потому что я получаю ответ обратно с тем же HTML, что и с простым GET. В основном это просто возвращает меня обратно на страницу входа. –