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 を使用している場合、要求はエンドポイントに到達しません。

解決方法はわかりませんが、回避する方法は知っています。つまり、サーバー上のすべてのトラフィック モニターを閉じます。私の場合、http 要求の内容をデバッグするために Wireshark と Fiddler4 を開いてもらいましたが、エラーを引き起こしたツールでデバッグしていたため、何が起こっているのかわかりませんでした。

私は Windows Server 2012 で Fiddler4 を VS2012 と .Net Framework 4.5 で使用しています。

于 2012-12-05T00:36:50.813 に答える