C# 使用httpget方法检索PHP脚本

C# 使用httpget方法检索PHP脚本,c#,php,http,C#,Php,Http,(我是初学者。这是为了更好地理解PHP。) 在试验HTTP时,我试图从我的服务器获取一个PHP文件,但什么都没有得到。响应中既没有HTTP头内容长度,也没有任何内容可供读取 string url = "http://php.net/sites.php"; HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url); request.AutomaticDecompression = DecompressionMethods.GZ

(我是初学者。这是为了更好地理解PHP。)

在试验HTTP时,我试图从我的服务器
获取
一个PHP文件,但什么都没有得到。响应中既没有HTTP头
内容长度
,也没有任何内容可供读取

string url = "http://php.net/sites.php";
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.AutomaticDecompression = DecompressionMethods.GZip;
request.Method = "GET";
Stream stream = request.GetRequestStream(); // "ProtocolViolationException" is thrown here
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine("test 3");
那么,使用上面的C代码和我本地的IIS,我无法正确获取任何php文件?我只能得到html、js、css、图像和其他一些东西,对吗?我还发现,如果我想执行PHP脚本,我需要将“GET”更改为“POST”,然后我将获得PHP输出

我想了解的内容:

  • 对于我来说,使用普通Web服务器无法检索PHP代码
  • WebBrowser在检索php输出时是否自动发布请求
  • 为什么是这样
仅供参考:(此处不重要)我必须稍后编写C#应用程序,它将与Web服务器通信,以检索一些数据并执行Web浏览器无法执行的操作

那么,使用上面的C代码和我本地的IIS,我无法正确获取任何php文件

如果你需要php文件,你可以从你的服务器上获取它们,但这确实是不寻常的

我只能得到html、js、css、图像和其他一些东西,对吗

您可以获取服务器正在发送的任何内容,在本例中,IIS正在接收您的get请求并决定如何处理它

对于我来说,使用普通Web服务器无法检索PHP代码

如果您将自己的服务器设置为将php文件作为静态内容托管,那么您可以看到自己的php文件。除非他们的服务器配置类似,否则无法查看其他人的PHP源文件

WebBrowser在检索php输出时是否自动发布请求

浏览器确实可以获取和发布。当您在地址栏中键入内容时,浏览器会收到信息,当您提交表单时,浏览器会发布信息

为什么是这样

PHP是一种服务器端语言,公开代码是一个巨大的安全风险。这也是必须在服务器上执行的代码,因此客户端(浏览器)除了出于潜在的调试目的外,看不到服务器上的代码

那么,使用上面的C代码和我本地的IIS,我无法正确获取任何php文件

如果你需要php文件,你可以从你的服务器上获取它们,但这确实是不寻常的

我只能得到html、js、css、图像和其他一些东西,对吗

您可以获取服务器正在发送的任何内容,在本例中,IIS正在接收您的get请求并决定如何处理它

对于我来说,使用普通Web服务器无法检索PHP代码

如果您将自己的服务器设置为将php文件作为静态内容托管,那么您可以看到自己的php文件。除非他们的服务器配置类似,否则无法查看其他人的PHP源文件

WebBrowser在检索php输出时是否自动发布请求

浏览器确实可以获取和发布。当您在地址栏中键入内容时,浏览器会收到信息,当您提交表单时,浏览器会发布信息

为什么是这样


PHP是一种服务器端语言,公开代码是一个巨大的安全风险。这也是必须在服务器上执行的代码,因此客户端(浏览器)除了潜在的调试目的外,看不到服务器上的代码。

GET、POST、DELETE、PUT和其他几个都是http动词,不是php独有的。执行PHP脚本不需要执行POST请求。正确设置web服务器,不会显示php代码。GET、POST、DELETE、PUT和其他几个都是http动词,不是php独有的。执行PHP脚本不需要执行POST请求。正确设置web服务器,将不会显示php代码。