v2.5.2
Giriş yap

cURL Hatası (35) - Yardım Lütfen

cemcanpolat
1,395 defa görüntülendi

Merhaba,
Aldığım hata hakkında bilgisi olan biri beni yönlendirebilir mi lütfen?

Çıktılar:
Curl errno: 35
Curl error: error:0A000152:SSL routines::unsafe legacy renegotiation disabled

Biraz araştırma yaptım, curlopt_ssl_verifyhost ve curlopt_ssl_verifypeer değerlerini false olarak ayarladım olmadı.
curlopt_cainfo => "cacert.pem" denedim olmadı. (bu konuda pek bilgim yok), sitenin perm dosyasını indirdim onu gösterdim değer olarak olmadı.

Daha önce bağlanılıyordu ama sanırım değişiklikler yapmışlar, hatadan anladığım kadarıyla ssl ile alakalı sizce localhostuma openssl ile kendinden imzalı ssl sertifakası kursam düzelirmi, daha önce tecrübe eden yada bilgisi olan paylaşırsa sevinirim.
Döküman, konu başlığı vs. de paylaşabilirsiniz. Şimdiden Teşekkür ederim.

Kod:

$headers = [
  "accept: */*",
  "accept-language: tr,en-US;q=0.9,en;q=0.8",
  "cache-control: no-cache",
  "content-type: application/x-www-form-urlencoded;charset=UTF-8",
  "pragma: no-cache",
  "sec-fetch-mode: cors",
  "sec-fetch-site: same-origin",
  "connection: keep-alive"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://...");
curl_setopt($ch, CURLOPT_REFERER, "https://...");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
  // data
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response  = json_decode(curl_exec($ch));
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error     = curl_errno($ch) . ': ' . curl_error($ch);

curl_close($ch);
cemcanpolat
677 gün önce

Yapmak istediğimi yapan bir js kütüphanesi var nodejs üzerinden çalıştırdım ve çalışıyor.
Ben php üzerinden test sunucularına ve test hesabına bağlanıp işlem yapabiliyorum. (e arşivin)
Veya başka curl isteklerimde çalışıyor curl'da sıkıntı yok yani.
Postman üzerinden çalışıyor. Postman üzerinden kodu aldım yapıştırdım php'de çalışmıyor aynı hata çıldıracam :)

Postman'de de benim koduma benzer bir kod verdı zaten.
Tahminim php 8.1'in yarattığı bir problem var.

Postman'den aldığım kodu yapıştırıyorum buraya denermisiniz lütfen.
Şifre kısımlarını sallıyorum bilgilerimi gizlemek için, kullanıcı bulunamadı hatalı vs gibi bir response alırsanız zaten çalışıyor demektir.
Bende bu hatayı veriyor. `error:0A000152:SSL routines::unsafe legacy renegotiation disabled`

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://earsivportal.efatura.gov.tr/earsiv-services/assos-login',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => 'assoscmd=anologin&rtype=json&userid=12345678&sifre=123456&sifre2=123456&parola=1',
  CURLOPT_HTTPHEADER => array(
    'Referer: https://earsivportal.efatura.gov.tr/intragiris.html',
    'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36',
    'Content-Type: application/x-www-form-urlencoded'
  ),
));

$response = curl_exec($curl);
curl_close($curl);

echo $response;