`

访问url--传值-->调用request.getInputStream()获取参数

    博客分类:
  • Java
 
阅读更多

访问url--传值-->调用request.getInputStream()获取参数

 

Java访问url--传值

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;

public class Test {
    public static void main(String[] args) {

        try {
            URL url = new URL("http://192.168.1.99:8005/shipnav/mobilepilotop?type=3");

            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            /**
             * 然后把连接设为输出模式。URLConnection通常作为输入来使用,比如下载一个Web页。
             * 通过把URLConnection设为输出,你可以把数据向你个Web页传送。下面是如何做:
             */
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setRequestProperty("content-type", "text/html");
            connection.setRequestMethod("POST");
            connection.setConnectTimeout(50000);
            connection.setReadTimeout(50000);
            connection.connect();
            /**
             * 最后,为了得到OutputStream,简单起见,把它约束在Writer并且放入POST信息中,例如: ...
             */
            BufferedWriter out = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream(), "UTF-8"));
            out.write("message=402881e3409a949201409aa8215e002c,563004840,2013-10-08 16:43:00");  //以流的形式传值
            out.flush();

            String sCurrentLine;
            String sTotalString;
            sCurrentLine = "";
            sTotalString = "";
            InputStream l_urlStream;
            l_urlStream = connection.getInputStream();
            // 传说中的三层包装阿!
            BufferedReader l_reader = new BufferedReader(new InputStreamReader(l_urlStream));
            while ((sCurrentLine = l_reader.readLine()) != null) {
                sTotalString += sCurrentLine + "/r/n";
            }
            System.out.println(sTotalString);  //获取返回的流

        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

 获取请求传过来的参数(流)

  ServletInputStream inStream = req.getInputStream();
        ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
        byte[] buff = new byte[8192]; // buff用于存放循环读取的临时数据
        int rc = 0;
        while ((rc = inStream.read(buff, 0, 1024)) > 0) {
            swapStream.write(buff, 0, rc);
        }
        byte[] in_b = swapStream.toByteArray(); // in_b为转换之后的结果?
        String msg = new String(in_b);
        System.out.println("----------------------------------" + msg); //msg="message=402881e3409a949201409aa8215e002c,563004840,2013-10-08 16:43:00"
 
分享到:
评论

相关推荐

    浅谈图片上传利用request.getInputStream()获取文件流时遇到的问题

    "浅谈图片上传利用request.getInputStream()获取文件流时遇到的问题" 本文讨论了使用request.getInputStream()获取文件流时遇到的问题,并提供了两种获取文件流的方式,分别是使用DataInputStream和...

    解决java enctype multipart form-data文件上传传值问题

    - 调用`parseRequest`方法解析请求中的文件项。 4. **处理文件**: - 遍历`List<FileItem>`,区分普通字段和文件字段。 - 对于文件字段,使用特定逻辑进行处理。 #### 四、示例代码详解 以下是对给定的部分...

    浅谈request.getinputstream只能读取一次的问题

    在Java Web开发中,`HttpServletRequest`接口提供了一个方法`getInputStream()`,用于获取客户端发送请求时附带的数据,这些数据通常以二进制形式存在,比如上传文件或者POST请求中的非表单数据。然而,一个重要的...

    postman调试接口工具

    在我们平时开发中,特别是需要与接口打交道时,无论是写接口还是用接口,拿到接口后肯定都得提前测试一下,这样的话就非常需要有一个比较给力的Http请求模拟工具,现在流行的这种工具也挺多的,像火狐浏览器插件-...

    获取request的参数

    当你在服务端接收到一个HTTP请求时,可以调用`getParameter()`方法来获取URL参数,例如: ```java public void doGet(HttpServletRequest request, HttpServletResponse response) { String param = request....

    对Servlet 中 request.setEncoding("utf-8")的分析

    在Servlet开发中,`request.setEncoding("utf-8")`是一个关键操作,它用于设置HTTP请求的字符编码,确保从客户端传递过来的数据(如表单数据、URL参数等)能够正确解析并处理中文或其他非ASCII字符。这个操作涉及到...

    Java文件上传下载

    <url-pattern>/upload</url-pattern> </servlet-mapping> ... </web-app> ``` 然后,在`FileUploadServlet`中解析请求并保存文件: ```java import javax.servlet.http.Part; import java.io.*; public class ...

    sevlet生命周期,request web.xml 及ServletContext总结

    在`init()`方法中,Servlet可以通过`ServletConfig`对象访问`web.xml`文件中的配置信息,获取初始化参数。 3. **服务**: 当请求到达时,Servlet容器调用Servlet实例的`service()`方法。这个方法会根据请求的HTTP...

    个人全自动1521传马工具日抓千鸡

    BufferedInputStream bis =new BufferedInputStream(p.getInputStream(), bufSize); int len; byte buffer[] = new byte[bufSize]; // Echo back what the program spit out while ((len = bis.read(buffer , 0, ...

    调用ICSharpCode.SharpZipLib.dll压缩与解压缩

    - 对于安全性,检查文件名是否包含恶意的相对路径(如".."),以防止意外覆盖或访问其他文件。 通过ICSharpCode.SharpZipLib.dll,开发者可以轻松地在.NET应用程序中实现文件的压缩和解压缩功能。这个库不仅提供了...

    androidstudio访问URL

    使用OkHttp,你可以创建一个OkHttpClient实例,然后通过newRequest().url()方法设置URL,最后调用enqueue()或execute()执行请求。 ```java OkHttpClient client = new OkHttpClient(); Request request = new ...

    java通过url调用接口

    在Java编程中,通过URL调用接口是一种常见的网络通信方式,尤其在Web服务和API交互中扮演着重要角色。这个项目提供了一种方法,通过URL发送请求并接收响应,然后将响应的字符串转换为JSON格式进行处理。接下来,我们...

    webwork2.2.7在action中利用commons-fileupload.jar进行上传或直接读取文件流的配置与源代码及实例详解

    例如,你可以通过`FileItem.getInputStream()`获取文件流,然后逐块读取和处理。 最后,教程还提到了异常处理,这是任何文件上传实现的重要部分。常见的异常包括`FileUploadException`(用于处理解析错误)和`...

    调用天气预报接口 java版

    调用这些接口时,需要提供API密钥和其他参数,如城市名或地理坐标。 在Java中,我们可以使用多种库来发起HTTP请求,比如`HttpURLConnection`(Java内置)、`Apache HttpClient`或`OkHttp`。以`HttpURLConnection`为...

    java 获取request中的请求参数代码详解

    需要注意的是,使用 `getInputStream()` 方法获取 Request Body 中的数据只能使用一次,如果多次调用将会导致流的数据无法到达 Controller 层,报 400 错误。 Java 提供了多种方式来获取 Request 中的请求参数,...

    Java调用Python.zip

    3. **参数传递与返回值**:在Java调用Python时,可以通过命令行参数传递数据给Python脚本,或者使用文件、数据库等共享存储进行数据交换。Python脚本可以读取这些参数,执行相应的计算,然后通过标准输出(stdout)...

    JSP乱码解决方案J2EE

    如果页面提交的数据编码不同,需在获取参数前通过`request.setCharacterEncoding("GBK")`或`request.setCharacterEncoding("gb2312")`设置请求编码。输出变量到页面时,可设置响应内容类型`response.setContentType...

    request的实例源码

    在这个例子中,我们从`request`对象中获取了请求参数、请求头、请求方法、请求URI和查询字符串。实际开发中,这些信息常被用于业务逻辑处理或数据验证。 四、`HttpServletRequest`的其他功能 除了上述常见方法,`...

    aspose-cells-8.5.2.jar带license.xml

    BufferedReader br = new BufferedReader(new InputStreamReader(resource.getInputStream())); License license = new License(); license.setLicense(br); } catch (Exception var3) { var3.printStackTrace...

    JAVAWEB-08:Servlet基础&java web之request/respone

    3. `getInputStream()`:获取请求体的数据,通常用于POST请求中接收二进制数据。 4. `getLocale()`:获取客户端的首选语言。 `HttpServletResponse`对象则是用来构建服务器对HTTP请求的响应。你可以使用它来设置...

Global site tag (gtag.js) - Google Analytics