v2.5.2
Giriş yap

Php Curl Post anahtarsız veri göndermek

trsherlock
626 defa görüntülendi

Herkese iyi günler.
Aşağıdaki kodların php.curl karşılığı lazım.
İstek atılan sunucu anahtarsız değer istiyor localhost kullanırken fetch ile çalışıyor fakat ip adresi kullanıldığında fetch çalışmıyor. O yüzden php.curl kullanmak istedim fakat bu seferde veri gönderme kısmına takıldım.

Bu konuda yardımcı olabilir misiniz?

fetch("https://backend-p.defterbeyan.gov.tr/rs/external/auth/loginWithToken", {
    "referrer": "https://portal.defterbeyan.gov.tr/",
    "referrerPolicy": "strict-origin-when-cross-origin",
    "body": "67b58efa-7c9a-43e0-b74a-e7d97bdb7eba",
    "method": "POST",
    "mode": "cors",
    "credentials": "omit"
})

Php tarafında kullandığım kodlar:

    $defterBeyan = curl_init();
    $t = "67b58efa-7c9a-43e0-b74a-e7d97bdb7eba";
    curl_setopt_array($defterBeyan, [
        CURLOPT_URL => "https://backend-p.defterbeyan.gov.tr/rs/external/auth/loginWithToken",
        CURLOPT_REFERER => "https://portal.defterbeyan.gov.tr/",
        CURLOPT_POST => 1,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_HEADER => true,
        CURLOPT_HTTPHEADER => array("content-type: text/plain"),
        CURLOPT_POSTFIELDS => $t
    ]);

Aldığım hata:

HTTP Status 415 – Unsupported Media Type
Type Status Report

Message Unsupported Media Type

Description The origin server is refusing to service the request because the payload is in a format not supported by this method on the target resource.
munzevi
856 gün önce

anladım. aşağıdaki kodların php karşılığı lazım deyince, bende php karşılığını yazdım. hedef api de ki gereksinimler hakkında haliyle fikrim yoktu hala da yok. header'dan gelen verileri ayrıştırmak için preg_match kullanabilirsin https://www.php.net/manual/en/function.preg-match

çerezi almak istedğini varsaydığım bir örnek;

$header = 'HTTP/1.1 200 
Set-Cookie: JSESSIONID=63D6B8E04778547F25B3ABBB20B5E94D; Path=/; HttpOnly
Server-Time: 1658310818544
Token: **************
Content-Type: application/json;charset=UTF-8
Content-Length: 133
Date: Wed, 20 Jul 2022 09:53:38 GMT';
preg_match('/JSESSIONID=(.*?);/si',$header, $cerez);
echo $cerez[1];