gpt4 book ai didi

java - 从网页获取登录帖子请求

转载 作者:行者123 更新时间:2023-11-30 04:43:07 24 4
gpt4 key购买 nike

我想以编程方式(使用 java)登录站点。

(已有用户名和密码)

以本网站为例: http://mediaforest-argentina.com/Membership/login.aspx?ReturnUrl=%2fGuests%2fRealtimeCharts.aspx

代码如下:

...
HttpPost httpost = new HttpPost("The url that I need");
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("IDToken1", "username"));
nvps.add(new BasicNameValuePair("IDToken2", "password"));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
...

我需要 post 请求的 url。我怎样才能得到它?

最佳答案

您需要检查网站的源代码,特别是登录表单,并查看它发送的数据。看<form action="url_here" ...>

在您的示例站点中,此 URL 为 http://mediaforest-argentina.com/Membership/login.aspx?ReturnUrl=%2fGuests%2fRealtimeCharts.aspx但请注意,在很多情况下(本示例也不异常(exception)),存在隐藏的表单元素,其中包含您需要随请求发送的数据。快速浏览一下就会发现许多隐藏的表单元素:

<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTEyOTA2MDE5Ng9kFgJmD2QWAgIBD2QWAgIBD2QWAgIED2QWAgIBD2QWAmYPZBYCAg8PEA8WAh4HQ2hlY2tlZGhkZGRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYCBStjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJExvZ2luMSRSZW1lbWJlck1lBTJjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJExvZ2luMSRBZ3JlZVRlcm1zT2ZVc2FnZQ==">
<input type="hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="HJPLOnv9G-WzfNEMvvC92zihg9ivnWKp_vC_6zv73e3_sOtSB4IhbCtPk3C75el4TZvgalSI2OHCaVGPxWZzWwUGXqo1">
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWCQKP7Ne4AgK/1YTzDQLu8I/0DgKh+7V7Ao+F8Z4OAsz3upgFAueno7sBAs/QlOcIAozNmZwP">

可能还有更多,但我并没有真正寻找很长时间。另请注意,在发布表单之前,JavaScript 可能会对值进行一些调整。因此,我建议您使用浏览器中的开发工具(Firebug 对于 Firefox,Chrome Development Tools 对于 Chrome 等)捕获完整请求,并以此为基础编写登录脚本。

我知道这听起来很复杂,但原因是,除非网站所有者提供公共(public) API,否则他/她可能不希望您以这种方式登录。

关于java - 从网页获取登录帖子请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11766584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com