Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PHP: Вопрос по модулю cURL
|
|||
|---|---|---|---|
|
#18+
Есть у меня тестовый скрипт для веб-сервиса: Код: plaintext 1. 2. 3. Также у меня есть рабочий код на PHP, делающий то же самое. Весь код достаточно объемный, но та часть, которая соответствует тестовому скрипту, примерно такая: Код: php 1. 2. 3. 4. 5. 6. Здесь $params это массив с параметрами ['phone'=>'79876543210', 'partner'=>'abcd', 'app_version'=>'1234', 'sign'=>'base64']. http_build_query преобразует его в соответствии со стандартными правилами экранирования для аргументов, то есть символ "=" в base64-закодированной строке превращается в %3D. Этот код успешно работает и возвращает ответ от веб-сервиса. Также у меня есть подобный код на Perl. По идее он делает то же самое, и использует для экранирования функцию uri_escape_utf8. Но почему-то веб-сервис для скрипта на Perl возвращает ошибку, сообщая что не указан обязательный аргумент app_version. Хотя этот параметр в запросе присутствует и передается в теле запроса (в body). Код: plaintext В обоих скриптах я делал отладочный вывод сформированной строки с параметрами, но никакой разницы не заметил. Единственное предположение — это cURL отправляет на сервер не те данные, которые, как я думаю, он должен отправлять. Можно ли в модуле включить режим отладки, чтобы увидеть сырые данные, которые уходят на сервер? Сервис использует протокол https, поэтому просмотреть данные сниффером я не могу, а проксировать слишком замороченно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2019, 23:46 |
|
||
|
PHP: Вопрос по модулю cURL
|
|||
|---|---|---|---|
|
#18+
Опция CURLOPT_VERBOSE в итоге помогла, хоть и не ожидал от нее пользы, она не фиксирует содержимое, только заголовки. Однако в процессе просмотра заголовков выяснилось, что cURL автоматически добавляет заголовок "Content-Type: application/x-www-form-urlencoded" для POST. А скрипт на Perl использует более низкоуровневую библиотеку, которая заголовок автоматически не выставляет. Добавил заголовок, все заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2019, 00:30 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=15&tid=1459918]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 269ms |
| total: | 429ms |

| 0 / 0 |
