首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从URLConnection读取

从URLConnection读取
EN

Stack Overflow用户
提问于 2012-09-29 16:55:34
回答 2查看 331关注 0票数 1

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

代码语言:javascript
复制
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脚本的输出。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-29 17:17:02

之所以获得PHP源本身,而不是它应该呈现的输出,是因为您的本地HTTP服务器--接收以http://localhost/test.php为目标的请求--决定返回PHP源,而不是将HTTP请求转发给processor来呈现输出。

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

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

Stack Overflow用户

发布于 2012-09-29 17:16:48

这里的问题不是Java代码,而是web服务器的问题。您需要调查为什么您的why服务器不执行PHP脚本,而是将其原始发送回来。您可以使用一个简单的PHP scipt开始测试,它返回一个固定的结果,并使用GET请求(从web浏览器)进行访问。一旦它工作了,你就可以使用响应POST请求的那个来测试了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12651343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档