PHP https -> http veri alma sorunu...
Merhabalar, sorunum şu tam olarak. POSTMAN ile elde ettiğim veriyi bir türlü PHP ile elde edemiyorum.
Yapamayacağım şeyler;
1) istek gönderdiğim yeri http yapamam ssl olmak zorunda
2) isteğin yapıldığı yeri https yapamam
3) isteğin yapıldığı yeri herhangi bir şekilde (ip,konum,port vs) değiştirmem mümkün değil.
İllaki php ile çözmem de gerekmiyor, herhangi bir yolla uzak sunucudaki json veriyi alabileyim yeterli bana.
İşleyiş şu şekilde,
A sitesinde bulunan bir sayfaya, B sitesinden bir GET isteği gönderiyorum.
<?php
header("Content-type: application/json; charset=utf-8");
$tckimlikno = "12345678901";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'sunucuipadresi:9999/test?tckimlikno=' . $tckimlikno,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HEADER => 'false',
CURLOPT_SSL_VERIFYHOST => 'false',
CURLOPT_SSL_VERIFYPEER => 'false',
));
$response = curl_exec($curl);
curl_close($curl);
print_r($response);
?>
A sitesi bu isteği alıyor ve aşağıdaki kodlar ile JSON veri olarak ekrana basıyor.
<?php
header('Access-Control-Allow-Origin: *');
header("Content-type: application/json; charset=utf-8");
$response = "Başka bir sunucudan gelen api cevabı";
$data["type"] = "success",
$data["veri1"] = $response->data1,
$data["veri2"] = $response->data2,
$data["veri3"] = $response->data3,
echo json_encode($data);
?>
A sitesindeki kodları C sitesine atıp, oraya istek gönderince sıkıntı yok. Sanırım problem https -> http isteği. Güvenlik nedeni ile engelliyor. Bunu nasıl aşabilirim.
NOT: İstek gönderilen sunucunun başka bir yerde çalışması mümkün değil ve SSL kurulamaz.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!