0

所以我在纯 REST(没有 Neo4JClient)中测试 Neo4J,我有这个代码:

       var client = new RestClient("http://url");

        string requestText = "{  \"query\" : \"start x  = node(1) match path = (x--IsFriendOf) return path, IsFriendOf.name\",  \"params\" : {  }}";

        var request = new RestRequest();

        request.Method = Method.POST;
        request.RequestFormat = DataFormat.Json;
        request.Resource = "/foo/bar";
        request.AddHeader("Content-Length", requestText.Length.ToString());
        request.AddHeader("Host", "ip:port");
        request.AddHeader("Accept", "application/json");
        request.AddHeader("Content-Type", "application/json");

        request.AddHeader("Authorization", "Basic encoded64credentials");


        request.AddBody(requestText);



        IRestResponse response = client.Execute(request);

如果我在 Fiddler 本身中执行 RAW 请求,我会得到想要的结果,

但是,如果我在 .Net 4.5 的控制台应用程序中执行此操作,我会看到:

在此处输入图像描述

我在防火墙中创建了一条规则,以允许控制台可执行文件的传入/传出请求,并且我停用了 IE 保护模式,但仍然没有运气。

有人对这个问题有一些想法吗?

4

2 回答 2

0

这里有很多问题。

首先要了解的是,您实际上根本没有看到请求——您在此屏幕截图中显示的请求是 IE 下载兼容性视图列表信息,而不是您自己提出的任何请求。

您可能应该先阅读http://blogs.msdn.com/b/fiddler/archive/2011/09/14/fiddler-and-windows-8-metro-style-applications-https-and-private-network- capabilities.aspx以了解 Windows 8 / Windows Server 2012 发生了怎样的变化,以及您需要做什么才能在本地环回代理中捕获它们的流量。

于 2012-12-05T22:28:46.330 回答
-1

我不敢相信我在写什么,但显然错误是由 Fiddler 本身产生的,我会找出 Fiddler 的内部机制来中断我的调用。

因此,如果您向不在端口 80 上的 REST API 发出 http 请求,并且您使用的是 WireShark 或 Fiddler,例如,该请求永远不会到达端点。

我不知道如何解决,但我知道如何避免它,即关闭服务器上的所有流量监视器。在我的情况下,我打开了 Wireshark 和 Fiddler4 来帮助我调试 http 请求内容,但我当然无法意识到发生了什么,因为我正在使用引发错误的工具进行调试。

我在 Windows Server 2012 中使用 Fiddler4、VS2012 和 .Net Framework 4.5,如果这对任何暗示为什么会发生这种情况的人有用的话。

于 2012-12-05T00:36:50.813 回答