HTTPClient在表单中发布和请求默认值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (29)

要在末尾发布的表单自动生成一个数字(ID),即自动填充,我假设有一个不重复的值。无法访问数据库,我不知道如何正确地将其添加到我的发布请求中,以便服务器可以接受它。

当我加载网页前端时,我看到灰色的ID字段,它有一个值。话虽如此,我试图这样做:

HtmlAgilityPack.HtmlDocument doc = GetHtmlDocument(strContent);
string strTrying = (doc.GetElementbyId("IdOfElement").InnerText);

基本上,上面是我创建一个HTML文档,其中包含从请求到表单所在页面的内容字符串。我这样做的原因是因为当我检查前端时,使用DOM,我可以看到值。我想我可以这样拉,然后添加到我的帖子。但是,当我打印内容以查看它是否存在时,我看到了:

        <td class="listItems">
        <input type="text" name="the_name" id="the_id" tabindex="2">
    </td>

没有内部文本对抗id,但检查前端,我可以看到它。如果有人对此有任何见解,那就太棒了。我想我正在朝着正确的方向前进,但不确定为什么我在请求中撤回的内容中的项目的值未显示。

此处还检查DOM中的前端网页:

  <INPUT tabIndex=2 id=the_id class=disabled readOnly maxLength=7 size=7 
   value=the_Value name=the_name>
提问于
用户回答回答于

神秘的标识符可能很难被设计欺骗,并且很可能是CSRF令牌或其他一些与安全相关的功能。

如果幸运的话,标识符可能出现在随页面返回的其中一个cookie中,但更可能是cookie已加密和/或服务器端保存了标识符的副本,如果设计的话这是不可能猜到的。

如果您在POST时尝试欺骗页面的行为,首先需要欺骗页面请求,因为它最初是RENDERED。然后,您可以从响应中读取标识符,填充请求,最后发布POST。

扫码关注云+社区

领取腾讯云代金券