У меня настроен 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