问题描述
是这样一个情况,我像一个网页发了一个post请求,他响应了10多个response,但是HttpResponse只能得到第一个响应,有什么办法把他们全拿到吗
解决方案
解决方案二:
我像一个网页发了一个post请求,他响应了10多个response从来没有遇到过这么诡异的情况
解决方案三:
没办法全拿到。一次http响应,浏览器和后台web容器会建立一个tcp连接。响应的时候,后台内容输出到前台后,前台并不会立即解析,而是要等tcp连接断开后才会解析响应内容。tcp连接断开要等到后台先断开,然后前台才被迫断开。后台tcp连接断开时,也就是后台方法执行完时候了。后台第一个response输出占据了响应链路后,后续的响应时无法输出的。所以,必须等后台方法执行完成时,才能拿到第一个响应的内容。
解决方案四:
那10个response并不是因你这个请求本身得到的,而是当你的浏览器拿到了最主要的response(第一个)之后,这个响应的页面中有各种图片、javascript、CSS之类的导致浏览器多次向服务器再发起下载JavaScript、图片和CSS的请求。HTTP本身是TCP一来一回式的模型。你没说想要啥服务器是不会给你东西的。
解决方案五:
你获取的是你发送的,一一对应的。
解决方案六:
我像一个网页发了一个post请求-----------------------------这个我也是没看太懂。他响应了10多个response------------------------------------虽然有10多个response,但是对应你的请求只会有一个的,其他都不是你的。一次请求,一次响应。有什么办法把他们全拿到吗-----------------------------------想在代码里面全部拿到,好像不太可能,至少我没有这么用过,或许有大神知道。
解决方案七:
楼主可以描述的清楚一点,如果你想获取浏览器输入地址后所有返回的Response内容;那就是监控Response手段可以获取。你可以用JPCAP来监控HTTP的所有请求与响应再作出处理;JPCAP监控HTTP的原理就和HTTPAnalyzer工具的原理差不多;你可以先用HTTPAnalyzer工具来试试监控。
解决方案八:
引用1楼Inhibitory的回复:
我像一个网页发了一个post请求,他响应了10多个response从来没有遇到过这么诡异的情况
后续的都是第一个响应的相应的图片链接等资源,我想拿到那些资源
解决方案九:
引用6楼littlebrain4solving的回复:
楼主可以描述的清楚一点,如果你想获取浏览器输入地址后所有返回的Response内容;那就是监控Response手段可以获取。你可以用JPCAP来监控HTTP的所有请求与响应再作出处理;JPCAP监控HTTP的原理就和HTTPAnalyzer工具的原理差不多;你可以先用HTTPAnalyzer工具来试试监控。
就是我用java模拟学校图书图书馆查找系统,发送了一个请求,返回了查询结果的网页源码,只能拿到源码,通过IE的F12看到后续还得到了相应结果的图片等资源,我通过http编程只能拿到源码。拿不到那些图片链接,有什么办法拿到图片链接吗
解决方案十:
引用8楼A18670080980的回复:
Quote: 引用6楼littlebrain4solving的回复:
楼主可以描述的清楚一点,如果你想获取浏览器输入地址后所有返回的Response内容;那就是监控Response手段可以获取。你可以用JPCAP来监控HTTP的所有请求与响应再作出处理;JPCAP监控HTTP的原理就和HTTPAnalyzer工具的原理差不多;你可以先用HTTPAnalyzer工具来试试监控。就是我用java模拟学校图书图书馆查找系统,发送了一个请求,返回了查询结果的网页源码,只能拿到源码,通过IE的F12看到后续还得到了相应结果的图片等资源,我通过http编程只能拿到源码。拿不到那些图片链接,有什么办法拿到图片链接吗
首先你发送了一个请求服务端给你反馈回来的就是一个HTML的普通文本内容;你只需要对HTML进行解析就能拿到这个HTML内容里面所有的IMG标签内容。你用JAVA的第三方库HTMLParser即可解析到IMG标签内容。
解决方案十一:
一次请求,一次响应。