HOWTO наблюдать сетевой трафик для отладки curl - PullRequest
2 голосов
/ 08 июня 2011

Я пытаюсь сделать вызов curl, который также передает файл изображения.
Очевидно, это не работает для меня.Тем не менее, у меня есть тестовый рабочий, который просто использует html-форму прямо вверх.

Как мне отладить / распечатать необработанные данные, которые передаются из curl?
Попытка сравнить вызов сФорма версии, чтобы увидеть, что отличается.

Я пробовал это:

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

print_r(curl_getinfo($curl));

Но они, похоже, просто возвращают ответ, а не необработанный запрос.(через стороннего производителя, поэтому у меня нет доступа к конечной точке)

Спасибо,
Тройник

Ответы [ 3 ]

0 голосов
/ 08 июня 2011

см. Предыдущий ответ по stackoverflow для аналогичного вопроса.

Используйте wireshark для наблюдения сетевого трафика и добавьте фильтр 'ip.addr == xxxx' сIP целевого сайта.

0 голосов
/ 08 июня 2011

Этот помог мне отладить его.Не печатает всю вещь, но напечатал заголовок, который был очень полезным.

curl_setopt($curl, CURLINFO_HEADER_OUT, true);

Спасибо,
Тройник

0 голосов
/ 08 июня 2011

curl клиент командной строки имеет параметр --trace-ascii для этого. Но эта функция не раскрывается в интерфейсе PHP.

Вывод _VERBOSE может, тем не менее, содержать некоторую информацию (если это действительно ошибка сервера). Однако вы должны перенаправить его в отдельный файл:

$fp = fopen("curl.log", "w");
curl_setopt($ch, CURLOPT_STDERR, $fp);

Если это не удастся, я боюсь, что лучший вариант - посмотреть сетевой трафик (возможно, с помощью отдельного инструмента, специального прокси-сервера).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...