Назад | Перейти на главную страницу

Как регистрировать исходящие HTTP-запросы от PHP + cURL?

У меня настроен PHP-скрипт, который делает запросы cURL всякий раз, когда на сайте выполняется действие. Проблема в том, что информация отправляется дважды при каждом запуске действия.

Мне нужно разобраться, есть ли проблема с моей стороны (cURL запускается дважды) или URL-адрес, на который выполняется POSTing, выполняет что-то дважды.

Я полагаю, что лучший способ сделать это - просмотреть исходящие HTTP-запросы POST с сервера.

Это лучший вариант? Если да, то как мне это сделать?

Ты можешь использовать tcpdump для прослушивания пакетов на сервере, примерно так:

# tcpdump -vv -s0 tcp port 80 -w /tmp/apache_outgoing.pcap

и запустите свой PHP-скрипт, чтобы увидеть, что произойдет.


Есть ли способ ограничить его а) только данными POST,

Вы можете обнюхать все и отфильтровать http.request.method == POST в Wireshark.

б) Только из 1.1.1.1

# tcpdump -vv -s0 tcp port 80 and src host 1.1.1.1

и в) собирается только 2.2.2.2?

# tcpdump -vv -s0 tcp port 80 and dst host 2.2.2.2

Прочтите tcpdumpстраница руководства пользователя Больше подробностей.

Лучше фильтровать таким образом

tcpdump src host YOUR-OUTGOING-INterface-IP and dst port 80 or dst port 443