Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / POST и X-XSRF-TOKEN - не могу сообразить как / 5 сообщений из 5, страница 1 из 1
28.09.2018, 14:23
    #39709857
AlexSSSS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST и X-XSRF-TOKEN - не могу сообразить как
Есть некое API. Поключаюсь нормально, с запросами через GET разобрался. А вот с POST - не догоню никак.
В описании сказано, что при успешном подключении
Код: xml
1.
2.
3.
4.
В ответ на данный запрос возвращаются следующие параметры:
•	Cookie PLAY_SESSION. 
Отсутствие в отправляемом запросе параметра "rememberme" соответствует выставленному в данном параметре значению "false".
2) При неверном выполнении запроса возвращается код 403


Далее, в описании сказано:
Код: xml
1.
Во всех POST-запросах заголовок X-XSRF-TOKEN должен иметь значение, равное значению Cookie PLAY_SESSION.


Попытался сделать так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
.....
//подключаюсь
$ch = curl_init();      
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
curl_setopt($ch, CURLOPT_URL, $url);   
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json;charset=utf-8"));  
curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode($user)); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);  
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'POST'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); //Записываем куки в файл 
curl_setopt($ch, CURLOPT_COOKIEFILE,  'cookie.txt'); 
$result = curl_exec($ch);
$code=curl_getinfo($ch,CURLINFO_HTTP_CODE); 
print "Подключились!!! code=" . $code; 
print "\n"; 
curl_close($ch);
$url = 'https://ТО ЧТО МНЕ НАДО';
$MyFiltr='{"filter":{"Парам1":"","Парам2":"-1","Парам3":""},"pagination":{"from":0,"to":4}}';
echo $url;
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); 
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'POST');     
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json;charset=utf-8;X-CSRF-Token:" . $result));
curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode($MyFiltr));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);     
$result = curl_exec($ch);   
$code=curl_getinfo($ch,CURLINFO_HTTP_CODE); 


В ответе: [Invalid Json: No content to map due to end-of-input at [Source: akka.util.ByteIterator$ByteArrayIterator$$anon$1@25345c17; line: 1, column: 0]]
Что я неправильно делаю???
...
Рейтинг: 0 / 0
29.09.2018, 23:28
    #39710405
Дормедонт Евлампиевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST и X-XSRF-TOKEN - не могу сообразить как
AlexSSSS,

а если в переменную $MyFilter вот так записать:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$MyFilter = [
    'filter' => [
        'Парам1' => '',
        'Парам2' => '-1',
        'Парам3' => ''
    ],
    'pagination' => [
        'from' => 0,
        'to' => 4
    ]
];
...
Рейтинг: 0 / 0
01.10.2018, 10:05
    #39710779
AlexSSSS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST и X-XSRF-TOKEN - не могу сообразить как
Не спасло "отца русской демократии".
Постараюсь без POST-а обойтись, вроде-бы можно одним GET-от все сделать...
...
Рейтинг: 0 / 0
01.10.2018, 11:16
    #39710812
Дормедонт Евлампиевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST и X-XSRF-TOKEN - не могу сообразить как
а вот так
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$MyFilter = [
    'filter' => [
        'Парам1' => '',
        'Парам2' => '-1',
        'Парам3' => ''
    ],
    'pagination' => [
        'from' => 0,
        'to' => 4
    ]
];
...

curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($MyFiltr));
...
Рейтинг: 0 / 0
01.10.2018, 14:07
    #39710927
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST и X-XSRF-TOKEN - не могу сообразить как
Нафига ты делаешь json_encode, если данные уже в json?
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / POST и X-XSRF-TOKEN - не могу сообразить как / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]