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
$header = [
    "referrer: https://portal.defterbeyan.gov.tr/",
    "referrerPolicy: strict-origin-when-cross-origin",
    "body: 67b58efa-7c9a-43e0-b74a-e7d97bdb7eba",
    //"method: POST",
    "mode: cors",
    "credentials: omit",
    "content-type: text/plain"
    ];
$url = "https://backend-p.defterbeyan.gov.tr/rs/external/auth/loginWithToken";
$defterBeyan = curl_init();
curl_setopt_array($defterBeyan, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_HTTPHEADER     => $header
]);

bu bir post verisi değil üstbilgi (header), dolayısıyla post methodunu kullanmanıza gerek yok, header içerisinde iletmeniz yeterli. kontrol etmek için de istek gönderdiğiniz sayfada aşağıdaki kodu çalıştırmanız yeterli.

print_r(getallheaders());