Я пытаюсь запрограммировать приложение, подключающееся к веб-сайту, не спамер, но что-то в этом роде.сохранить сеанс в реальном времени с помощью webclient
Но есть одна проблема:
В этом сайте вы войдите с помощью HTML-форм, и я знаю страницу PHP цель и параметры так с C# я Войти, как это:
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-urlencoded";
wc.UploadString("http://example.com/login/check.php", "username=US&password=PW");
MessageBox.Show(result);
}
после logining когда я хочу (например) отправить сообщение (например, коды ниже), ответ заключается в том, что вы не вошли в систему!
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-urlencoded";
wc.UploadString("http://example.com/post/send.php", "title=T&body=B");
MessageBox.Show(result);
}
Я думаю, проблема в том, что сессия закрыта. что я могу сделать?
Как сервер отслеживает пользователей, прошедших проверку подлинности? Если ответ на исходный логин включает куки-файл, тогда вам нужно сохранить этот файл cookie в своем коде и использовать его в своих последующих запросах. – David
Он использует сеанс (обычно с файлом cookie). Как я могу использовать куки в моих кодах? –
Я не уверен, что у объекта 'WebClient' есть необходимые операции, вам, вероятно, придется сориентироваться в документации. По сути, вы должны иметь возможность сделать HTTP-запрос, который имеет более богатый ответ, больше, чем просто строку. Этот ответ будет содержать файлы cookie, заголовки и т. Д. Затем вам нужно будет создавать более богатые HTTP-запросы после этого (опять же, больше, чем просто загрузить строку), потому что вам нужно будет включать файлы cookie и заголовки в эти запросы. Может быть, «HttpClient»? Может быть, 'WebRequest'? – David