Переход на URL с помощью C #

Вот мой PHP-скрипт, который просто отправляет письмо …

<?php
$headers = "From: [email protected]" . "\r\n";
mail("[email protected]", $_GET["subject"], $_GET["body"], $headers);
?>

Я иду на этот URL в моем браузере Chrome …

http://www.myserver.com/myPHPScript.php?subject=Test Email&body=This is a test email

…и он успешно выполняет скрипт php и отправляет электронное письмо.

Теперь проблема — я пытаюсь повторить это в C #, выполнив следующие действия …

// Start this method by calling StartCoroutine (SendMail());
public IEnumerator SendMail() {
string body = "This is a test email";
string subject = "Test Email";
WWW www = new WWW("http://www.myserver.com/myPHPScript.php?subject=" + subject + "&body=" + body);
yield return www;
}

Однако это не работает. Как я могу получить этот C # скрипт для идеальной эмуляции перехода на URL, как в моем браузере Chrome.

0

Решение

Скорее всего, ваша тема и / или тело не являются URL-адресами. WWW-класс Unity предоставляет способ сделать это.
WWW.EscapeURL метод

так что просто измените эту строку в вашем коде
WWW www = new WWW(WWW.EscapeURL("http://www.myserver.com/myPHPScript.php?subject=" + subject + "&body=" + body));

и это должно работать.

2

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

Я должен был закодировать предмет и тело, чтобы избежать символов. (Например, «» заменяется на% 20)

Я использовал эту ссылку: http://www.blooberry.com/indexdot/html/topics/urlencoding.htm?state=none&origval = www.google.com% 2Fffds.php% 3Fname% 3Не% 3Agen&прил = на

Тогда на стороне php вещей — я использовал rawurldecode(string) который преобразует шестнадцатеричные символы обратно в их литералы

1

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