HOWTO 观察网络流量以进行 curl 调试

tee*_*ink 5 php curl

我正在尝试进行一个 curl 调用,同时传递一个图像文件。
显然它对我不起作用。但是,我有一个测试工作,它只使用直接的 html 表单。

如何调试/打印从 curl 传递的原始数据?
尝试将调用与表单版本进行比较,看看有什么不同。

我试过这些:

curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_VERBOSE, true);

print_r(curl_getinfo($curl));
Run Code Online (Sandbox Code Playgroud)

但这些似乎只是返回响应而不是原始请求。(它是通过第 3 方的,所以我无法访问终点)

谢谢你,
Tee

mar*_*rio 1

curl命令行客户端有一个--trace-ascii选项。但该功能并未在 PHP 界面中公开。

然而,输出_VERBOSE可能仍然包含一些信息(如果确实是服务器错误)。但在此之前,您必须将其重定向到单独的文件中:

$fp = fopen("curl.log", "w");
curl_setopt($ch, CURLOPT_STDERR, $fp);
Run Code Online (Sandbox Code Playgroud)

如果做不到这一点,恐怕最好的选择是查看网络流量(使用单独的工具,也许是临时代理)。