java web cgi 返回值-Java web 调用cgi发送form表达数据,如何获取返回值?

问题描述

Java web 调用cgi发送form表达数据,如何获取返回值?

各位,大家好,有个问题想请教一下,目前一套java web开发的网站,需要调用外公司
提供的一个cgi接口,用于实现发送一个字符串(包含了几个字段的数据)给他们的cgi
脚本,我们发送不论成功或者失败,他们都会返回一个具体的int值给我们,我该如何发
送并获取返回值?网上看到的资料不是特别多,自己大概的思路如下:

//jsp要调用的程序为AgentRetMaintainerAct.cgi
URL u = new URL("http://www.****.com.cn/***/cgi-bin/AgentRetMaintainerAct.cgi");

//urlc表示 URL 的连接对象
URLConnection urlc = u.openConnection();

//指示应用程序要从 URL 连接读取数据
        urlc.setDoOutput(true);
        urlc.setDoInput(true);

//允许用户交互。
        urlc.setAllowUserInteraction(true);

//输出流getoutputstream,用于向socket端发送数据,就是发送消息用的
        DataOutputStream server = new DataOutputStream(urlc.getOutputStream());     

        //调用cgi通过http的post方式发送字符串到cgi
        server.writeBytes(totol);
        server.close();

        但是现在我不知道这样处理是否正确,也不明确如何获取对方的返回值?

        烦请高手帮忙看看,该如何处理。语句要如何实现?非常感谢!!!

解决方案

 String rec_string = "";//返回值
 String address ="";//URL地址
 String commString = "";//参数字符串
        URL url = null;
        HttpURLConnection urlConn = null;
        try {
            /* 得到url地址的URL类 */
            url = new URL(address);
            /* 获得打开需要发送的url连接 */
            urlConn = (HttpURLConnection) url.openConnection();
            /* 设置连接超时时间 */
            urlConn.setConnectTimeout(30000);
            /* 设置读取响应超时时间 */
            urlConn.setReadTimeout(30000);
            /* 设置post发送方式 */
            urlConn.setRequestMethod("POST");
            /* 发送commString */
            urlConn.setDoOutput(true);
            urlConn.setDoInput(true);
            OutputStream out = urlConn.getOutputStream();
            out.write(commString.getBytes());
            out.flush();
            out.close();
            /* 发送完毕 获取返回流,解析流数据 */
            BufferedReader rd = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), "UTF-8"));
            StringBuffer sb = new StringBuffer();
            int ch;
            while ((ch = rd.read()) > -1) {
                sb.append((char) ch);
            }
            rec_string = sb.toString().trim();
            /* 解析完毕关闭输入流 */
            rd.close();
        } catch (Exception e) {
            /* 异常处理 */
            rec_string = "-107";
            System.out.println(e);
        } finally {
            if (urlConn != null) {
                /* 关闭URL连接 */
                urlConn.disconnect();
            }
        }
        /* 返回响应内容 */
        return rec_string;
时间: 2024-11-01 10:26:46

java web cgi 返回值-Java web 调用cgi发送form表达数据,如何获取返回值?的相关文章

Java程序,点击按钮(调用其它包里类的方法,返回字符串)后,将返回的字符串显示到jPanel上

问题描述 Java程序,点击按钮(调用其它包里类的方法,返回字符串)后,将返回的字符串显示到jPanel上 怎么修改程序,点击按钮后,jPanel显示其它方法返回的字符串, 我是Java初学者,这个比较急,大家帮帮忙,有悬赏的! 解决方案 String rtn = model1.cutWord(//rtn是返回值 JLabel label1=new JLabel(rtn);//创建两个标签组件 label1.setText("使用方法进行设置 "); jPanel1.add(label

Java Socket通信(一)之客户端程序 发送和接收数据_java

网络应用分为客户端和服务端两部分,而Socket类是负责处理客户端通信的Java类.通过这个类可以连接到指定IP或域名的服务器上,并且可以和服务器互相发送和接受数据. 对于Socket通信简述,服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容.Socket与Socket之间是双向连通的,所以客户端也可以往对应的Socket输出流里面写东西,然后服务端对应的Socket的输入流就可以读出对应的内容. 例1:客户端的简略写法(一). Socket clien

java发送url请求获取返回值的二种方法_java

下面提供二种方法会使用java发送url请求,并获取服务器返回的值 第一种方法: 复制代码 代码如下: import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFor

java 调用返回json的 web service接口

问题描述 java 调用返回json的 web service接口 公司给了一个web service接口 ,只给了一个url ,并告诉是post请求, 以前没调用过 ,求大神们给个例子什么的.接口返回是json格式 我用from表单action提交那个url 结果是让我下载一个.json的文件,下载下来打开就是我想获得的json数据,这个接口该怎么调用啊. 解决方案 很简单,这个你就写一个后台模拟post请求的代码就可以了,在页面是因为浏览器将json数据识别为一个文件,所以才会下载 解决方案

JAVA与.NET“.NET技术”的相互调用——通过Web服务实现相互调用

JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有很多相似的地方.而在很多大型的开发项目里面,往往需要使用两种语言进行集成开发.而很多的开发人员都会偏向于其中一种语言,在使用集成开发的时候对另一种语言感觉到畏惧.在这里在下向各位介绍一下,JAVA与.NET相互调用的例子.下面的介绍主要包括三方面:一是通过常用Web服务进行相互调用,二是使用TCP/IP套接字进行相互调用,三是使用Remote实现远程对象相互调用. 在这章里面先为大家介绍一下最简单,最常用的Web服务相互调用方式.首先

JAVA与.NET的相互调用——通过Web服务实现“.NET研究”相互调用

JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有很多相似的地方.而在很多大型的开发项目里面,往往需要使用两种语言进行集成开发.而很多的开发人员都会偏向于其中一种语言,在使用集成开发的时候对另一种语言感觉到畏惧.在这里在下向各位介绍一下,JAVA与.NET相互调用的例子.下面的介绍主要包括三方面:一是通过常用Web服务进行相互调用,二是使用TCP/IP套接字进行相互调用,三是使用Remote实现远程对象相互调用. 在这章里面先为大家介绍一下最简单,最常用的Web服务相互调用方式.首先

web api-安卓 调用 webapi 如何获取返回值

问题描述 安卓 调用 webapi 如何获取返回值 安卓调用web api时获取到的东西为什么是html:我想获取到一个boolean类型的值 解决方案 你的web api的代码有问题问题,返回的是什么html先看下html,很可能是路径或者参数不对,返回了一个404之类的错误页.那么检查下参数以及web api本身的部署 解决方案二: 返回的就是我访问的url的那个html

android webview中使用Java调用JavaScript方法并获取返回值

在android平板上用webview打开一个网页,调用里面的javascript方法,同时相互传参. 网上例子很少啊,基本都不能获取返回值,贴一个自己最后调试完的代码如下: Java: 复制代码 代码如下: protected void onCreate(Bundle savedInstanceState) { ........ x = (WebView)this.findViewById(R.id.webView_viewTable); x.setScrollBarStyle(View.SC

调用返回json的 web service接口

问题描述 调用返回json的 web service接口 公司给了一个web service接口 ,只给了一个url ,并告诉是post请求, 以前没调用过 ,求大神们给个例子什么的.接口返回是json格式 我用from表单action提交那个url 结果是让我下载一个.json的文件,下载下来打开就是我想获得的json数据,这个接口该怎么调用啊. 解决方案 直接发生http post请求.返回结果就是json数据 解决方案二: jQuery调用WebService返回JSON数据 解决方案三: