如何记录来自 PHP + cURL 的传出 http 请求?

Sam*_*Sam 8 linux ubuntu php curl

我有一个 PHP 脚本设置,每当在站点上执行操作时都会发出 cURL 请求。问题是每当操作运行时,信息都会被发布两次。

我需要弄清楚这是否是我的问题(cURL 运行了两次)或者它 POST 到的 URL 是否正在执行两次操作。

我想最好的方法是查看来自服务器的传出 http POST 请求。

这是最好的选择吗?如果是这样,我该怎么做?

qua*_*nta 10

您可以使用tcpdump嗅探服务器上的一些数据包,如下所示:

# tcpdump -vv -s0 tcp port 80 -w /tmp/apache_outgoing.pcap
Run Code Online (Sandbox Code Playgroud)

并运行您的 PHP 脚本以查看会发生什么。


有什么办法可以将其限制为 a) 仅 POST 数据,

您可以http.request.method == POST在 Wireshark 中嗅探所有并过滤。

b) 仅来自 1.1.1.1

# tcpdump -vv -s0 tcp port 80 and src host 1.1.1.1
Run Code Online (Sandbox Code Playgroud)

c) 只去 2.2.2.2 ?

# tcpdump -vv -s0 tcp port 80 and dst host 2.2.2.2
Run Code Online (Sandbox Code Playgroud)

阅读tcpdump的手册页以获取更多详细信息。