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了。