gpt4 book ai didi

java - 从 URLConnection 读取

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:11:28 25 4
gpt4 key购买 nike

我的服务器中有一个 php 页面,它接受几个 POST 请求并处理它们。假设这是一个简单的页面,输出只是一个回显语句。通过我从 Java 程序建立的用于发送 POST 请求的 URLConnection,我尝试使用通过 connection.getInputStream() 获得的输入流来获取输入。但我得到的只是页面的来源(整个 php 脚本),而不是它产生的输出。我们将在这里避免套接字连接。这可以通过 Url 连接或 HttpRequest 来完成吗?如何?

class htttp{
public static void main(String a[]) throws IOException{
URL url=new URL("http://localhost/test.php");

URLConnection conn = url.openConnection();

//((HttpURLConnection) conn).setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());

wr.write("Hello");
wr.flush();
wr.close();

InputStream ins = conn.getInputStream();
InputStreamReader isr = new InputStreamReader(ins);
BufferedReader in = new BufferedReader(isr);
String inputLine;
String result = "";
while( (inputLine = in.readLine()) != null )
result += inputLine;
System.out.print(result);



}
}

我在 result 中获得了网页 test.php 的全部源代码。但我只想要 php 脚本的输出。

最佳答案

您获得 PHP 源代码本身而不是它应该呈现的输出的原因是您的本地 HTTP 服务器 - 接收针对 http://localhost/test.php 的请求 -决定返回 PHP 源代码,而不是将 HTTP 请求转发给 PHP 处理器以呈现输出。

为什么会这样?这与您的 HTTP 服务器的配置有关;可能有几个原因。对于初学者,您应该验证 HTTP 服务器的配置。

  • 您在计算机上使用哪个 HTTP 服务器?
  • 当您通过浏览器浏览 http://localhost/test.php 时会发生什么?

关于java - 从 URLConnection 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12651343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com