我希望通过发布表单值并获取响应页面以进行解析来从网站上抓取详细信息,但在某些情况下存在挑战。
对于Slashdot.org之类的非金融网站,即使登录并抓取我自己的帐户详细信息作为测试,以下代码也可以正常工作。
但是在金融网站上,相同的代码会返回一个响应页面,带有诸如“为了安全起见,您必须启用JavaScript才能登录到您的帐户”这样的字眼,而我希望看到的我的财务详细信息都不像该帐户余额。注意,在这种情况下,响应状态代码为“ OK”(200)并不表示明显的错误。我想建立一个个人的“ Mint.com”类型的网站,但是在这方面,它变得非常具有挑战性。
假设金融站点中存在更强大的安全控制,那么如何使用以下代码片段更好地处理这些情况?
// I call this method to do the heavy lifting
public async Task<string> GetHttpResponseMessage(string url, IEnumerable<KeyValuePair<string, string>> values)
{
var content = new FormUrlEncodedContent(values);
var response = await httpClient.PostAsync(url, content);
var responseString = await response.Content.ReadAsStringAsync();
return responseString;
}