将服务器get到的响应打印,从网址获取POST响应并打印页面响应?

让我们来看看,如果我可以试试这个,因为你似乎对HTML表单的工作原理有点困惑。

首先,你的网站看起来像这样,对吗?

method="post"

action="http://poster.decaptcher.com/"

enctype="multipart/form-data">

有一点需要指出,在我们解释一个HTML表单,就是你必须在网页的

表单。任何应该被用户看到的元素(或者任何你想要出现在浏览器的主查看区域中的元素)都应该在中。如果不这样做,浏览器就会陷入“怪癖模式”,它实际上并不知道你在说什么,并且试图建立它认为你想要的网站是最好的猜测。你要知道,现代浏览器都非常不错的猜测,但你还是应该重新写它:

method="post"

action="http://poster.decaptcher.com/"

enctype="multipart/form-data">

至于解释

标签...当你在HTML提交表单,它实际上加载另一个网站。它不会在后台秘密发送数据,它会带您远离正在查看的页面,并将您带到要发送数据的页面。起初这可能听起来很愚蠢。为什么它会把你从正在查看的页面带走,然后将数据发送到另一个网站?如果您想在发送数据后重定向,那么在发送数据之后,您会将它们重定向到那里。

这样做的原因是大大简化了HTTP协议。每当你加载任何网站,你发送和HTTP请求。此请求包含信息的对接加载。在这个信息是:

您的IP地址

你使用

你上次访问

你如何访问该页面(点击一个链接或输入网址的页面浏览器是什么地址栏)

您要查看的网页(是index.html或mysite.html?)

与该服务器

任何职位信息的任何cookie(额外的服务器可能会或可能没有要求的形成)

每当服务器收到其中一个请求时,它会查看所有信息并决定要执行的操作。通常,服务器只会查看要查看的页面并将其发送给您。尽管如此,有时您想查看的页面在准备展示之前还需要额外的工作。例如,如果页面以.php结尾,那么它将通过页面搜索<?php ,并且在该点之后的所有内容都将作为脚本执行。只有脚本的输出被发送给请求页面的人,而不是脚本本身。

如果您要将自己的POST信息发送到网站,请等待10分钟,然后进入网站,但无法记住是您之前发送了发布信息或发送了哪些信息。 Web服务器的关注时间很短。因此,如果您发送表单登录网站,然后等待10分钟,然后尝试查看会员的唯一页面 - 它会忘记您已登录。由于这个原因,它会在您提交时向您发送页面表格。它在它还记得你已登录的情况下执行它,然后它有机会忘记。发送给您的页面很可能会包含一个cookie,您可以使用它来提醒您在下次请求页面时登录的服务器。

如果这是有道理的,那么你应该了解当你提交表单时会发生什么。它不仅仅把你的信息提供给服务器。它会将这些信息作为整个请求的一部分发送给服务器,然后服务器将您的网页发送回您的浏览器并显示该网页。实际上只有一种方法可以将数据发送到服务器而不需要之后将您重定向到该服务器。然而,有多种方法可以做到这一点。您必须发送“虚拟请求”,请求具有某些POST数据的网页,但忽略返回的网页。

在你的例子中,你想发送数据到http://poster.decaptcher.com。要做到这一点,不用将用户重定向到http://poster.decaptcher.com,最简单的解决方案就是使用javascript和AJAX。 Javascript有一些功能可以让你在不重新加载页面的情况下发送HTTP请求,然后让javascript决定如何处理返回的页面。

这通常用于当您想重新加载网页的零件而无需重新加载整个事物。例如,如果您有聊天程序,并且想要更新聊天窗口而不刷新整个页面。 javascript会请求一个仅包含新线聊天的网页,减去任何,

或标记。然后它将这些行显示在聊天窗口中。

但是,您可以使用AJAX请求一个页面,然后忽略返回的内容而不是将其显示在页面上。通过这样做,您将发送POST数据,但不会重定向用户。

另一个选择是将请求发送到第三个网站,然后它可以发送它自己的虚拟请求。例如,将表单提交给您拥有的PHP页面。然后PHP脚本可以告诉你的服务器发送一个虚拟请求到http://poster.decaptcher.com并忽略响应,然后你可以发送一个包含任何你想要的内容的网页。

既然我已经充分详细地描述了这两个过程,我将它作为练习让读者弄清楚如何做到这些。 =)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 用户在浏览器中输入网址并发送请求。 2. DNS解析,将域名解析成IP地址。 3. 浏览器向服务器发送TCP连接请求。 4. 服务器接受连接请求并建立TCP连接。 5. 浏览器发送HTTP请求,请求所需资源。 6. 服务器处理请求并返回HTTP响应。 7. 浏览器接收响应显示页面。 ### 回答2: 从浏览器点击到服务器响应需要经历以下步骤: 1. URL解析:浏览器首先解析用户在地址栏中输入的URL,将其切分成协议、域名和资源路径等部分。 2. DNS查询:浏览器会通过DNS(域名系统)将域名转换为服务器的IP地址。浏览器会查找本地DNS缓存中是否存在对应的IP地址,如果不存在,则向DNS服务器发送查询请求获取IP地址。 3. TCP连接建立:浏览器会与服务器建立TCP连接。首先,浏览器会发送一个三次握手的请求到服务器,以确保双方建立起可靠的传输通道。 4. 发送HTTP请求:一旦TCP连接建立成功,浏览器就会发送HTTP请求到服务器。请求中包含了请求的方法(例如GET或POST)、资源路径、请求头等信息。 5. 服务器处理请求:服务器接收到浏览器发送的请求后,会根据请求的资源路径和相关参数进行处理。服务器可能会调用相应的处理程序或脚本来生成响应。 6. 服务器发送响应服务器处理完请求后,会将生成的响应发送回浏览器。响应中包含了响应头和响应体两部分。响应头包含了响应的状态码、内容类型等信息,而响应体则包含了服务器返回的具体数据。 7. 浏览器解析响应:浏览器接收到响应后,会根据响应头中的内容进行相应的解析和处理。如果响应的内容类型是HTML,浏览器会开始解析HTML代码,并将结果显示在用户界面上。 8. 关闭连接:一旦响应解析完毕并显示在界面上,浏览器会关闭与服务器的TCP连接,释放资源。 总之,从浏览器点击到服务器响应经历了URL解析、DNS查询、TCP连接建立、发送HTTP请求、服务器处理请求、服务器发送响应、浏览器解析响应和关闭连接这些步骤。这个过程实际上是一种客户端(浏览器)和服务器之间的通信过程,以确保用户能够获得所需的网页内容。 ### 回答3: 从浏览器点击到服务器响应,需要经历以下几个步骤: 1. 域名解析:浏览器首先将输入的域名发送给本地DNS服务器,本地DNS服务器通过递归查询,从根域名服务器、顶级域名服务器等逐步获取目标服务器的IP地址。 2. 发起TCP连接:浏览器会通过TCP协议与服务器建立连接,进行三次握手,确保连接的可靠性和完整性。 3. 发送HTTP请求:一旦建立了TCP连接,浏览器就会向服务器发送HTTP请求,请求中包含了方法(GET、POST等)、路径、协议版本、头部信息等。 4. 服务器处理请求:服务器接收到请求后,根据请求中的具体信息,找到相应的资源文件,进行相应的处理,处理过程可能包括验证用户身份、读取数据库、执行后台程序等。 5. 服务器返回响应服务器处理完请求后,将生成的响应信息通过TCP连接返回给浏览器。响应包括状态码、响应头和响应体,状态码表示请求的处理结果,响应头包含了响应的其他附加信息,响应体则是服务器返回的具体内容。 6. 接收响应:浏览器接收到服务器返回的响应后,会根据响应头中的信息,判断响应的具体类型和长度,并开始接收响应体的内容。 7. 渲染页面:一旦浏览器接收到响应体的全部内容,会开始根据响应中的HTML、CSS、JavaScript等文件,进行页面的渲染和展示,同时进行布局、样式、脚本的解析和执行。 以上是从浏览器点击到服务器响应的步骤,通过这一系列的过程,浏览器能够与服务器进行通信,并获取服务器返回的数据,完成页面显示和功能交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值