Я пытался работать с данными php post за последние два дня, и, будучи абсолютно уверенным, мой код был логичным, я отказался от попыток заставить его работать сам.C# -> Php | Почтовые данные
Вот мой C# код,
class SecureWeb
{
/*
* CONSTRUCTOR
*/
public SecureWeb()
{
//INITIALIZE
}
public bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
}
public string Post(string URI, NameValueCollection Message)
{
try
{
string result = null;
using (WebClient wc = new WebClient())
{
wc.Proxy = null;
wc.Credentials = CredentialCache.DefaultCredentials;
ServicePointManager.ServerCertificateValidationCallback += ValidateServerCertificate;
byte[] bByte = wc.UploadValues(URI, (Message));
result = Encoding.UTF8.GetString(bByte);
}
return result;
}
catch (Exception) { }
return null;
}
}
и вот мой PHP код (да, я попробовал только с помощью простого эха),
<?php
function getParams() {
if (!isset($_POST['db'])) {
return false;
}
if (!isset($_POST['user'])) {
return false;
}
return true;
}
if (!getParams()) {
echo('NULL_DATA');
exit();
}
else {
$user = $_POST['user'];
echo ($user);
exit();
}
?>
Я получаю ошибка 406, претендующая на мой запрос, является «неприемлемой». Я также довольно положительно, проблема в том, что это мой сервер, я просто не уверен, что нужно исправлять или настраивать.
Я уверен, что wc имеет UploadSomething (idr, если его UploadValues), и вам нужно добавить к нему многократное, что раздражает и смешно. Я не помню, как это делать, но я уверен, что это поможет кому-то ответить –
Я не уверен насчет C#, если вы передаете параметры через POST..Но ваш php-код выглядит хорошо .. –