使用C#转到网址

时间:2015-01-14 09:15:58

标签: c# php email unity3d

这是我的php脚本,它只发送一封电子邮件......

<?php
    $headers = "From: info@mycompany.com" . "\r\n";
    mail("info@mycompany.co.nz", $_GET["subject"], $_GET["body"], $headers);
?>

我在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#脚本完美地模仿我的Chrome浏览器中的网址。

2 个答案:

答案 0 :(得分:2)

最有可能的情况是您的主题和/或正文不具有URL友好性。 Unity的WWW课程提供了一种方法 WWW.EscapeURL method

所以只需在代码中更改这一行 WWW www = new WWW(WWW.EscapeURL("http://www.myserver.com/myPHPScript.php?subject=" + subject + "&body=" + body));

它应该有用。

答案 1 :(得分:1)

我必须对主题和正文进行编码才能转义字符。 (EG,&#34;&#34;被%20取代)

我使用了以下链接:http://www.blooberry.com/indexdot/html/topics/urlencoding.htm?state=none&origval=www.google.com%2Fffds.php%3Fname%3Do%3Agen&enc=on

然后在PHP的一面 - 我使用rawurldecode(string)将十六进制转义的字符转换回文字