繁体   English   中英

使用C#自动登录网站

[英]Automate logging in to website using c#

我想每5小时登录一个网站以自动执行一些任务。 由于网站使用https,因此无法登录。

我想登录到https://www.dealercentral.net 如果在登录时同时使用fiddler,这是我在发送用户名和密码的地方捕获的请求和响应(请注意,出于安全原因修改了用户名和密码,否则您将可以登录我的帐户):

fidler捕获的请求:

POST https://www.dealercentral.net/_layouts/15/dealercentral/login.aspx?ReturnUrl=%2f_layouts%2f15%2fAuthenticate.aspx%3fSource%3d%252F&Source=%2f HTTP/1.1
Host: www.dealercentral.net
Connection: keep-alive
Content-Length: 439
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: https://www.dealercentral.net
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: https://www.dealercentral.net/_layouts/15/dealercentral/login.aspx?ReturnUrl=%2f_layouts%2f15%2fAuthenticate.aspx%3fSource%3d%252F&Source=%2F
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
Cookie: ASP.NET_SessionId=52lhv2bm45z5xx0kylecwzco; WSS_FullScreenMode=false

__LASTFOCUS=&__VIEWSTATE=%2FwEPBSpWU0tleTo3NDM1NGQ1ZS1iYjBkLTQ2ODktYTU4Mi0xMDgzNTljY2ZjY2Zk7GQ77o%2B8NvANoTxtWC0wkDqyACylBde9E2t7U%2BOXkCY%3D&__EVENTTARGET=&__EVENTARGUMENT=&__EVENTVALIDATION=%2FwEdAATYiJ%2B%2Fud3KAWRxdbdx6iTIIRPZSl6UajYNUBbXmOsn5sIjdzfOst76JdbTNlFHv6h6%2Ff%2BTYHJ2sj56xvBVZVdouyYzuVuGagw4zrs8XpBj6eWYF7phR6ki3BEBwJxSZQ0%3D&signInControl%24UserName=USERNAME_I_MODIFIED_THIS_ON_PURPOSE&signInControl%24password=_PASSWORD_THAT_I_ENTERED_&signInControl%24login=Sign+In

提琴手心满意足

HTTP/1.1 302 Found
Cache-Control: private, no-store
Content-Type: text/html; charset=utf-8
Location: /_layouts/15/Authenticate.aspx?Source=%2F
Server: Microsoft-IIS/8.0
X-SharePointHealthScore: 0
X-AspNet-Version: 4.0.30319
Set-Cookie: FedAuth=77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U1A+MCMuZnxsZGFwbWVtYmVyfHBhc3RvcmEsMCMuZnxsZGFwbWVtYmVyfHBhc3RvcmEsMTMwODQ4NDA2NjAyMzk1OTk4LEZhbHNlLGZDOXlxeGI0OWEzWXNaSFZHNzB1Mzh0Z0xwQnlJVTEzUEtYS1FmUTBSNmRqU2NpdldQZHQ1eVNyODAvWTdCaG4vcnpWd2t4emdqVDhMM1FNZVFranVpV1p4bXFHY0VsbGdVNWtvSHMwWnUwRjF3UmQxTU5GVGRsSXV1Z2lYbmZrMUNaVlpHckVXZ0F1NzN4WHJvRzVWVEhFVXhHeDh0R29tTlFBd0pzakI1QzE2SGtFUG5YcFc2Z01mejJJeW9lN3VtcW9mSjg2U1hHS2hvaVpJR1lQa0J2YUQ1Z2NiYlNwVWVnZ1lwd3F4TDdMU3NCRWs5d0w1YTNnOGVTZlBhT1RsMjBCWnIvbkZIbU8vRmlSVEFXeUd4TThUcmd4dUhxTG44Q2tacGNqMGNEek45RWd6T2dLcy8zYVZNS2V0aWs0UTRaREJyd0I2RTI5bjJQck9hMk1zQT09LGh0dHBzOi8vd3d3LmRlYWxlcmNlbnRyYWwubmV0LzwvU1A+; path=/; secure; HttpOnly
SPRequestGuid: e34f259d-4b05-104d-f0d8-cf3b39ea9ef5
request-id: e34f259d-4b05-104d-f0d8-cf3b39ea9ef5
X-FRAME-OPTIONS: SAMEORIGIN
SPRequestDuration: 201
SPIisLatency: 0
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 15.0.0.4551
X-Content-Type-Options: nosniff
X-MS-InvokeApp: 1; RequireReadOnly
Date: Tue, 18 Aug 2015 21:57:39 GMT
Content-Length: 158

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/_layouts/15/Authenticate.aspx?Source=%2F">here</a>.</h2>
</body></html>

如果我在哪里拥有__LASTFOCUS=&__VIEWSTATE=%2FwEPBSpWU0tleTo3ND.... etc ,我将能够登录所有cookie。登录后,我知道我必须提出什么请求才能解析我需要的数据。 只是我在登录时遇到了麻烦。 我也在这样做以学习。 我知道那里有很多Web自动化器。


我知道如何在提琴手的帮助下登录(如果我复制使用提琴手登录功能捕获的标头和发布的数据!):

WebClient c = new WebClient();
c.Headers.Add("Cookie", "ASP.NET_SessionId=52lhv2bm45z5xx0kylecwzco; WSS_FullScreenMode=false");
// add other headers captured by fiddler
var html = c.UploadString("https://www.dealercentral.net", "__LASTFOCUS=&__VIEWSTATE=%2FwEPBSpWU0tleTo3NDM1NGQ1ZS1iYjBkLTQ2ODktYTU4Mi0xMDgzNTljY2ZjY2Zk7GQ77o%2B8NvANoTxtWC0wkDqyACylBde9E2t7U%2BOXkCY%3D&__EVENTTARGET=&__EVENTARGUMENT=&__EVENTVALIDATION=%2FwEdAATYiJ%2B%2Fud3KAWRxdbdx6iTIIRPZSl6UajYNUBbXmOsn5sIjdzfOst76JdbTNlFHv6h6%2Ff%2BTYHJ2sj56xvBVZVdouyYzuVuGagw4zrs8XpBj6eWYF7phR6ki3BEBwJxSZQ0%3D&signInControl%24UserName=USERNAME_I_MODIFIED_THIS_ON_PURPOSE&signInControl%24password=_PASSWORD_THAT_I_ENTERED_&signInControl%24login=Sign+In");

响应正常,登录成功。

您的登录网址为:

https://www.dealercentral.net/_layouts/15/dealercentral/login.aspx?ReturnUrl=%2f_layouts%2f15%2fAuthenticate.aspx%3fSource%3d%252F&Source=%2f

因此,登录完成后,服务器响应为:

Object moved to <a href="/_layouts/15/Authenticate.aspx?Source=%2F">here</a>.

这意味着服务器可以重定向到该URL,因为您可以登录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM