|
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: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 146ms |
0 / 0 |