function request($method = 'GET', $url = null, $params = null, $proxy = null, $proxy_userpwd = null)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
if ($method == 'POST') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params['params']);
} elseif ($method == 'PATCH') {
curl_setopt($ch, CURLOPT_POSTFIELDS, $params['params']);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
} elseif ($method == 'PUT') {
curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params['params']);
} else {
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
}
if (isset($params['headers'])) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $params['headers']);
}
if (isset($params['cookies'])) {
curl_setopt($ch, CURLOPT_COOKIE, $params['cookies']);
}
if ($proxy) {
curl_setopt($ch, CURLOPT_PROXY, $proxy);
if ($proxy_userpwd) {
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_userpwd);
}
}
$result = curl_exec($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$headers = substr($result, 0, $header_size);
$content = substr($result, $header_size);
preg_match_all('|Set-Cookie: (.*);|U', $headers, $parse_cookies);
$cookies = implode(';', $parse_cookies[1]);
curl_close($ch);
return ['headers' => $headers, 'cookies' => $cookies, 'content' => $content];
}
$check = request('POST', 'https://sba.yandex.net/v4/threatMatches:find?key=<TOKEN>', [
'params' => [
'client' => ['clientId' => 'YaSfBrowsingAPI', 'clientVersion' => '1'],
'threatInfo' => [
'threatTypes' => ['THREAT_TYPE_UNSPECIFIED', 'MALWARE', 'SOCIAL_ENGINEERING', 'UNWANTED_SOFTWARE', 'POTENTIALLY_HARMFUL_APPLICATION'],
'platformTypes' => ['ALL_PLATFORMS'],
'threatEntryTypes' => ['URL'],
'threatEntries' => [['url' => 'http://site.ru']]
]
], 'headers' => ['Content-type: multipart/form-data']
])['content'];
Документация:
https://yandex.ru/dev/safebrowsing/doc/quickstart/...
Постоянно возвращает: The HTTP request was not correct formed. Not correct number of urls.
Уже всё перепробовал.