Когда я использую cURL для публикации в своем API, он работает на 100%, я собираю настольное приложение на C #, которое требует того же самого при нажатии кнопки.когда я перехватываю свой код через fiddler, он показывает, что он успешно соединяется, но выдает мне эту ошибку: {"fatal": "Нет параметров POST!"}
когда я использую Postman для тестирования, я получаю ту же ошибку:
{"fatal": "Нет параметров POST!"}
это мой скрипт cURL, который работает:
curl -u username: "password" -X POST http://localhost/api/index.php -d method = "addSubscriber" -d first_name = "test" -d last_name = "account" -d address = "980 westlane, Khomasdal" -d почтовый индекс = "999 Виндхук" -d страна = "Намибия"-d email = "test@gmail.com" -d mobile_number = "26487222225" -d пакет [package_uid] [] = "живой" -d пакет [package_uid] [] = "timeshift" -d пакет [valid_from] []= "2018-05-24" -d пакет [valid_from] [] = "2018-05-24" -d пакет [продолжительность] [] = "31" -d пакет [продолжительность] [] = "31"
это мой код на C #: где я использую HttpWebRequest:
HttpWebRequest webRequest;
webRequest = (HttpWebRequest)WebRequest.Create("http://localhost/api/index.php");
String authHeaer = System.Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(userName + ":" + userPassword));
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
string requestParams = "{\"method\" : \"addSubscriber\",\"first_name\" : '"+txt_fname.Text+"', \"last_name\" : \"'"+txt_lname.Text+"'\", \"address\":\"default\", \"postcode\":\"0000\", \"country\" : \"Namibia\", \"email\" :\"'"+txt_email.Text+"'\", \"mobile_number\" : \"'"+txt_cellno.Text+"'\", \"package_uid\" : \"live\", \"package_valid_from\" : \"'"+DateTime.Now+"'\", \"package_duration\" : \"'"+txtDuration.Text+"'\"}"; //format information you need to pass into that string ('info={ "EmployeeID": [ "1234567", "7654321" ], "Salary": true, "BonusPercentage": 10}');
webRequest.Headers[HttpRequestHeader.Authorization] = "Basic " + authHeaer;
byte[] byteArray = Encoding.UTF8.GetBytes(requestParams);
webRequest.ContentLength = byteArray.Length;
using (Stream requestStream = webRequest.GetRequestStream())
{
requestStream.Write(byteArray, 0, byteArray.Length);
}
// Get the response.
using (WebResponse response = webRequest.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
StreamReader rdr = new StreamReader(responseStream, Encoding.UTF8);
string Json = rdr.ReadToEnd(); // response from server
}
}
MessageBox.Show("Client Added Succesfully");