C # — PHP работает нормально через браузер, не будет работать через HttpWebRequest

Моя цель

Я пытаюсь читать и записывать файлы с моего веб-сервера через C #.

Прогресс

До сих пор через PHP я сделал это, чтобы вы могли писать в файлы с file_put_contents(), Сохраненные файлы являются текстовыми файлами, поэтому вы можете легко их прочитать. Моя программа C # с ответами работает нормально, и я получаю желаемые значения.

    private string GetWarnInfo(string id)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"http://example.com/{id}.txt");
request.Method = "GET";

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
return reader.ReadToEnd();
}
}
catch(Exception)
{
return null;
}
}

100% времени он не возвращал ноль, что является успехом.

Эта проблема

Ну, написание. Мой PHP в example.php выглядит так:

if (file_exists($_GET['id'] . '.txt'))
{
unlink($_GET['id'] . '.txt');
file_put_contents($_GET['id'] . '.txt', $_GET['info']);
} else {
file_put_contents($_GET['id'] . '.txt', $_GET['info']);
}

Пока он полностью работает через браузерные звонки (http://example.com/example.php?id=23&info=w3), и на самом деле делает текстовый файл, я не могу заставить его работать с C #:

    public void ServerRequest(string id, string info)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://example.com/example.php?id=" + id + "&info=" + info);
request.Method = "GET";
}

Например, я звоню ServerRequest((23).ToString(), "w3"), но файл не изменится, он всегда будет либо не существующим, либо в последнем состоянии (если он был).

Что может вызвать эту проблему? Как бы это исправить?

-1

Решение

Благодаря @ Бармар

Я понял проблему, если я не позвоню GetResponse(), он никогда не запустит веб-запрос. После этого все работало нормально!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]