非常感谢任何帮助。
我正在尝试使用我的用户和密码凭据以编程方式登录www.penson.com。
使用资源管理器(Chrome,就此而言)时,登录链接如下: https://online.penson.com/(q3lsh145vubfki45dl1tr1yc)/Default.aspx?LoginInProgress=YES
使用此链接登录后,链接如下: https://online.penson.com/(q3lsh145vubfki45dl1tr1yc)/Default.aspx?LI=Y
从那里我继续使用网站... 当然,每次我进入网站时,这个链接都会发生变化,包含不同的某种“Guid”。
现在,我在代码中所做的是以下内容:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(
"https://online.penson.com/Default.aspx?LoginInProgress=YES");
request.Credentials = new NetworkCredential(myUser, myPassword);
request.CookieContainer = new CookieContainer();
request.AllowAutoRedirect = false;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = 0;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamResponse = response.GetResponseStream();
StreamReader sr = new StreamReader(streamResponse);
string result = sr.ReadToEnd();
'result'字符串看起来像这样(为了简化显示我编辑的HTML结构):
对象移动到href ='/(cls10ljriatq2luvwyzo4eyq)/Default.aspx?LoginInProgress=YES'
从这个字符串中我已经提取了'href'子字符串,然后我尝试用这个完整的地址创建另一个请求:
https://online.penson.com/(cls10ljriatq2luvwyzo4eyq)/Default.aspx?LoginInProgress=YES
这个不起作用,解析流响应表明我仍然在登录网页中,并且实际上没有继续转发下一个网页。
我正试图找出代码有什么问题。我想我的想法是获取“Guid”并将其解析为登录地址并不准确。
有人能指出我某个解决方案吗?