@soris1989 כתב בבקשת POST בC# יוצרת שגיאה:
@עידו מה שדיברנו עד עכשיו זה שגיאה בשליחת בקשת POST ב-C#, ב-PHP אין את הבעיה הזו.
תשתמש בפונקציה הבאה:
<?php
function sendPostRequest($url, $data, $headers = []) {
$ch = curl_init($url);
// Convert data to JSON
$jsonData = json_encode($data);
// Set headers
$defaultHeaders = [
'Content-Type: application/json',
'Content-Length: ' . strlen($jsonData)
];
$headers = array_merge($defaultHeaders, $headers);
// cURL options
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // צריך להגדיר כדי שתוכל לשלוח בקשות ללא SSL
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // צריך להגדיר כדי שתוכל לשלוח בקשות ללא SSL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Execute request
$response = curl_exec($ch);
// Handle errors
if ($response === false) {
return "cURL Error: " . curl_error($ch);
}
curl_close($ch);
return $response;
}
גם עכשיו שלחתי בC# רק שבשביל להיות בטוח במה שהhttpclient שולח (ההדר והתוכן) עשיתי עמוד PHP שיחזיר בדיוק את הבקשה שנשלחה, ומהערך שחוזר רואים שהתוכן שנשלח הוא תקין, גם מבחינת ההדר שלו, שהוא של ג'סון ולא משהו אחר