有没有办法在不阅读整个页面的情况下获取cookie?

时间:2009-12-12 23:14:51

标签: c# .net

我正在尝试发布一些数据并从网站上获取一些数据。该站点不公开任何Web服务或API,我无法修改该站点。唯一的选择是HTML屏幕抓取。为了发布数据,我首先需要登录,获取cookie转到另一个页面获取另一个cookie并转到最后一页发布数据。我不需要前两页的任何HTML,但需要cookie才能完成最后的帖子。 我正在使用System.Net.HttpWebRequest来导航网站。是否可以在不下载整个页面的情况下只接收cookie(服务器头)? 现在我正在使用GetReponse()方法来获取响应流。

4 个答案:

答案 0 :(得分:3)

不,如果您要发送POST请求,请不要这样做。您可以通过发送HEAD请求来检索标题,但之后您将无法发布所需的登录凭据。

答案 1 :(得分:0)

我认为这取决于网站。从理论上讲,如果你使用HEAD请求,网站应该回复标题,但没有数据似乎是你需要的,实际上这一切都取决于实际的网站

答案 2 :(得分:0)

您(理论上)应该能够将Method上的HttpWebRequest属性设置为HEAD,并且只能取回标题。

答案 3 :(得分:0)

使用win32 api,您可以只读取响应标头并在之后删除连接。看看wininet。

至于HEAD谓词,它可能在某些情况下有效,而在其他情况下则不然。有些页面实际上会检查谓词并根据它进行操作。