当前位置: 首页 > 面试题库 >

伪HTTP获取请求

阎祖鹤
2023-03-14
问题内容

我注意到某些站点的IP命中率有限,因此我可以通过编程使他们感到请求不是来自同一IP的,

好吧,我不太确定abot HTTP数据包,但是我们可以在标头或某个地方指定它以使其变得愚蠢吗?

这是GET请求的代码

public static String sendGetRequest(String endpoint, String requestParameters) {
        String result = null;
        if (endpoint.startsWith("http://")) {
// Send a GET request to the servlet
            try {
// Construct data
                StringBuffer data = new StringBuffer();

// Send data
                String urlStr = endpoint;
                if (requestParameters != null && requestParameters.length() > 0) {
                    urlStr += "?" + requestParameters;
                }
                URL url = new URL(urlStr);
                URLConnection conn = url.openConnection();

// Get the response
                BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                StringBuffer sb = new StringBuffer();
                String line;
                while ((line = rd.readLine()) != null) {
                    sb.append(line);
                }
                rd.close();
                result = sb.toString();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return result;
    }

问题答案:

我猜想该过滤器是在IP数据包级别而不是更高级别的HTTP级别应用的。在这种情况下, 是和否

是的-从技术上来说,可以欺骗您的IP地址,以便IP数据包看起来像来自其他地方。

不,因为它不太可能有用。如果您欺骗了TCP数据包上的“发件人”地址,那么当您尝试连接到该计算机的IP地址时,来自您所连接的计算机的任何答复都将丢失。您将一无所获。

也就是说,您甚至无法完成TCP三向握手。在该过程完成之前,您甚至无法通过连接
发送 任何内容-因为一开始甚至没有连接。HTTP在TCP上运行,因此,除非您完成握手(需要有效的“发件人” IP地址),否则您将无法使用它。

一个古老的技巧是使用一种叫做“源路由”的东西。TCP数据包中包含有关如何路由信息的信息。这是用于“白天”的诊断用途。您可以将自己置于指定的路由中,然后在数据包到达您时停止它们,然后使用源路由信息再次答复它们。

但是这种技术根本不起作用 ,因为如今互联网上几乎每个路由器都只是丢弃源路由数据包,因为对它们没有合法的需要-并造成了很多潜在的破坏。



 类似资料:
  • 本文向大家介绍php如何获取Http请求,包括了php如何获取Http请求的使用技巧和注意事项,需要的朋友参考一下 php获取Http请求的方法 $_SERVER介绍 $_SERVER是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。 获取Http请求的方法示例 实例补充: socket方式 使用套接字建立连接,拼接 HTTP

  • 问题内容: 我最近尝试使用jQuery从URL获得一些响应。因此,我将jQuery API Get Request Tutorial 的get request示例复制到我的项目中并尝试运行它,但是我的调试消息告诉我,它无法继续进行。我使用一个简单的请求尝试了javascript Ajax库,但没有成功。 所以我问你,你能否以某种方式帮助我。 这就是我所做的一切,但是没有任何回应。 我可能忘了包括a

  • 问题内容: 我正在尝试让我的函数返回http get请求,但是,无论如何,它似乎在?scope中丢失了。我对Node.js不熟悉,因此不胜感激 问题答案: 当然,您的日志会返回:您在完成请求之前先进行日志。问题不是范围,而是 异步性 。 是异步的,这就是为什么它将回调作为参数的原因。做您在回调中要做的事情(传递给的):

  • 我想创建一个API,为了验证API使用者,我将提供一个API密钥、应用id和应用机密。问题是,我想知道http请求来自哪里,这样我就可以知道发出que请求的主机是否是注册主机。例如:www.someone。com的应用程序id为0001,应用程序机密为1200,api密钥为458。如果此凭据用于发出请求,我想知道请求者是否真的是www.someone。通用域名格式

  • 我从jquery发送如下请求: 在servlet内部,我可以获得参数,但问题是参数包含序列化的表单数据:如下所示: 我知道我可以使用来获取数据,但我想确保--如果他们的方法简单与否?

  • 得到的结果为: 从请求中提取的最佳方法是什么?