C#如何通过Apache访问PHP文件?
自己写的C#代码如下:
C# code
static string RegularFlowURL = "http://127.0.0.1/flowserver/html/menu_detail.php";
public static void Check()
{
try
{
System.Net.ServicePointManager.Expect100Continue = false;
Stream instream = null;
StreamReader sr = null;
HttpWebResponse response = null;
HttpWebRequest request = null;
Encoding encoding = Encoding.UTF8;
request = WebRequest.Create(RegularFlowURL) as HttpWebRequest;
response = request.GetResponse() as HttpWebResponse;
instream = response.GetResponseStream();
sr = new StreamReader(instream, encoding);
string content = sr.ReadToEnd();
MessageBox.Show(content);
}
catch (Exception ee)
{
MessageBox.Show(ee.ToString());
}
这样会弹出该php文件的源代码(除PHP语言之外),但就是没能执行该php文件原本发送邮件的功能。若用浏览器访问此PHP文件,则可正常发送邮件。该怎么改呢?请高手指点!
------解决方案--------------------为什么不从PHP这边提供一个发邮件的Web API呢?
------解决方案--------------------http://127.0.0.1/flowserver/html/menu_detail.php
这里面有没有涉及登录后才能发一类的,你用那样请求,相应的参数没加,肯定发不出去啊,先分析一下那个PHP文件需要传递哪些参数
------解决方案--------------------你想要的不是 访问PHP 吧? 而是访问 WEB 吧
------解决方案--------------------使用 system.net
WebClient 吧。
可以帮你解决到你需要的问题
------解决方案--------------------
WebRequest是不会去执行js的,要么用WebBrowser,要么修改服务端让它提供一个可以调用的发送邮件API
------解决方案--------------------
JS是在浏览器执行的,用C# WebBrowser 这个类来访问PHP文件,因为WebBroswer这个类,用的是IE的内核。你可以理解为,IE就是用WebBrowser来写的,WebBrowser就是个小浏览器。或者你这个需求,是不需要JS的,C#可以定时访问一个PHP文件,这个PHP文件直接去数据库中搜索数据,有异常就调用发送邮件的代码,这样就不需要WebBrowser了。