v2.5.2
Giriş yap

PHP https -> http veri alma sorunu...

kargasa1982
689 defa görüntülendi

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.

kargasa1982
1081 gün önce
<?php
    echo 'Çok çalışırsan bulursun...';
?>