Я работаю над плагином WordPress в PHP, используя cUrl. Мой URL работает для Почтальона, но не с помощью cUrl. Я попытался скрыть URL-адрес в соответствии с решениями, которые я нашел в Интернете (второй пример кода), но, похоже, ничего не получалось (я получил 404 - Файл или Каталог во втором примере кода). Может кто-нибудь объяснить мне, что я делаю неправильно, и сказать, как правильно экранировать URL-адрес?
Пример кода 1 (HTTP-код ошибки Throws 400): $ searchstring - это что-то вроде Бена Дея, взрывающегося в Бена и День ($ nameSlice 1 & 2).
function get_Lehrer($searchstring) {
$fullname = splitWords($searchstring);
$token = api_token();
$curl = curl_init();
$nameSlice1 = $fullname[0];
$nameSlice2 = $fullname[1];
$url1 = 'ExampleUrl.com/Example'; <============= example data
$url2 = "?$"."filter=startswith(vorname,'" .$nameSlice1. "') or startswith(vorname,'" .$nameSlice1. "') or startswith(nachname,'" .$nameSlice2. "') or startswith(nachname,'" .$nameSlice2. "')";
$url = $url1 . $url2;
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded' , 'Authorization: Bearer ' . $token ));
$data = curl_exec($curl);
if(!$data) {
die('Nani?');
}
else {
echo $data; <===================== I print the json directly, that's where I get the error code)
$dataarray = json_decode($data);
}
curl_close($curl);
}
Пример кода 2, где я получаю код ошибки 404 HTTP:
function get_Lehrer($searchstring) {
$fullname = splitWords($searchstring);
$token = api_token();
$curl = curl_init();
$nameSlice1 = $fullname[0];
$nameSlice2 = $fullname[1];
$url1 = 'ExampleUrl.com/Example'; <========= example data
$url2 = "?$"."filter=startswith(vorname,'" .$nameSlice1. "') or startswith(vorname,'" .$nameSlice1. "') or startswith(nachname,'" .$nameSlice2. "') or startswith(nachname,'" .$nameSlice2. "')";
$url = $url1 . curl_escape($curl, $url2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded' , 'Authorization: Bearer ' . $token ));
$data = curl_exec($curl);
if(!$data) {
die('Nani?');
}
else {
echo $data;
$dataarray = json_decode($data);
}
curl_close($curl);
//showData($dataarray, $searchmethod);
}