gpt4 book ai didi

c# - 如何查看从本地主机到 CRM 的流量?

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:19 25 4
gpt4 key购买 nike

我们正在使用 OData Web API CRM 2016 endpoint .

我正在创建一个从 postman 流向本地主机微服务,然后流向 CRM 的请求:

Postman--->本地主机微服务--->CRM

我能够从第一个段(Postman-->LocalHost)查看流量;然而,fiddler 跟踪显示 LocalHost-->CRM 没有任何进展。

Fiddler 显示来自 Postman-->LocalHost 的请求的以下数据:

POST https://localhost:19081/..../API/leads HTTP/1.1
Host: localhost:19081
Connection: keep-alive
Content-Length: 84
Cache-Control: no-cache
Origin: chrome-extension://aicmkgpgakddgnaphhhpliifpcfhicfo
MSCRMCallerID: D994D6FF-5531-E711-9422-00155DC0D345
X-Postman-Interceptor-Id: 84840bba-bc4b-9b06-d3ab-e264045e8918
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Content-Type: application/json; charset=UTF-8
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Cookie: ai_user=Ka2Xn|2017-05-25T17:30:57.941Z

{
"subject": "created by mscrmcaller user2: d994d6ff-5531-e711-9422-00155dc0d345"
}

但是,LocalHost-->CRM 没有拦截任何内容!

请注意,这两个路由都是 HTTPS。

绕过本地主机时,流量可见!

请求是这样创建的:

//Create payload for request
var content = new StringContent(lead.ToString(), Encoding.UTF8, "application/json");
//Create POST request with data from above
var request = RequestCreator.Create(uri, validHeaders, HttpMethod.Post, content);
//Issue request
var postResponse = Client.Instance.SendAsync(request).Result;

我们做错了什么?

最佳答案

Fiddler 不跟踪服务器到服务器的流量。您需要将“localhost 微服务”配置为通过 fiddler 代理(默认为 127.0.0.1:8888)。如果您的“本地主机微服务”是 .NET(看起来像),您可以添加

<system.net>
<defaultProxy>
<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
</defaultProxy>
</system.net>

到您的 web.config(将为您的服务使用 fiddler 作为代理)或 machine.config(将为任何 .NET 应用程序使用 fiddler 代理)。

机器配置在这里:

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
c:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

引用:http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp

由于您的连接是通过 HTTPS 建立的,因此您还需要配置 fiddler 来解密 HTTPS 流量(工具->选项->HTTPS->解密 HTTPS 流量)。

编辑

此建议假定您将在与“localhost microservice”机器相同的机器上运行 fiddler,但您几乎可以在任何地方运行 fiddler,只要端口 8888 可以从“localhost microservice”机器访问并且 fiddler 机器可以向最终目的地发出 http 请求(在您的情况下为 CRM 机器)。如果你想在其他地方运行 fiddler,只需将 proxyaddress 配置为不同的 ip,如 http://10.0.0.1:8888例如。在这种情况下,您还需要配置 fiddler 以允许远程传入流量(工具->选项->连接->允许远程计算机连接)

关于c# - 如何查看从本地主机到 CRM 的流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46243952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com