访问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()获取文件流时遇到的问题,并提供了两种获取文件流的方式,分别是使用DataInputStream和...
- 调用`parseRequest`方法解析请求中的文件项。 4. **处理文件**: - 遍历`List<FileItem>`,区分普通字段和文件字段。 - 对于文件字段,使用特定逻辑进行处理。 #### 四、示例代码详解 以下是对给定的部分...
在Java Web开发中,`HttpServletRequest`接口提供了一个方法`getInputStream()`,用于获取客户端发送请求时附带的数据,这些数据通常以二进制形式存在,比如上传文件或者POST请求中的非表单数据。然而,一个重要的...
在我们平时开发中,特别是需要与接口打交道时,无论是写接口还是用接口,拿到接口后肯定都得提前测试一下,这样的话就非常需要有一个比较给力的Http请求模拟工具,现在流行的这种工具也挺多的,像火狐浏览器插件-...
当你在服务端接收到一个HTTP请求时,可以调用`getParameter()`方法来获取URL参数,例如: ```java public void doGet(HttpServletRequest request, HttpServletResponse response) { String param = request....
在Servlet开发中,`request.setEncoding("utf-8")`是一个关键操作,它用于设置HTTP请求的字符编码,确保从客户端传递过来的数据(如表单数据、URL参数等)能够正确解析并处理中文或其他非ASCII字符。这个操作涉及到...
<url-pattern>/upload</url-pattern> </servlet-mapping> ... </web-app> ``` 然后,在`FileUploadServlet`中解析请求并保存文件: ```java import javax.servlet.http.Part; import java.io.*; public class ...
在`init()`方法中,Servlet可以通过`ServletConfig`对象访问`web.xml`文件中的配置信息,获取初始化参数。 3. **服务**: 当请求到达时,Servlet容器调用Servlet实例的`service()`方法。这个方法会根据请求的HTTP...
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,开发者可以轻松地在.NET应用程序中实现文件的压缩和解压缩功能。这个库不仅提供了...
使用OkHttp,你可以创建一个OkHttpClient实例,然后通过newRequest().url()方法设置URL,最后调用enqueue()或execute()执行请求。 ```java OkHttpClient client = new OkHttpClient(); Request request = new ...
在Java编程中,通过URL调用接口是一种常见的网络通信方式,尤其在Web服务和API交互中扮演着重要角色。这个项目提供了一种方法,通过URL发送请求并接收响应,然后将响应的字符串转换为JSON格式进行处理。接下来,我们...
例如,你可以通过`FileItem.getInputStream()`获取文件流,然后逐块读取和处理。 最后,教程还提到了异常处理,这是任何文件上传实现的重要部分。常见的异常包括`FileUploadException`(用于处理解析错误)和`...
调用这些接口时,需要提供API密钥和其他参数,如城市名或地理坐标。 在Java中,我们可以使用多种库来发起HTTP请求,比如`HttpURLConnection`(Java内置)、`Apache HttpClient`或`OkHttp`。以`HttpURLConnection`为...
需要注意的是,使用 `getInputStream()` 方法获取 Request Body 中的数据只能使用一次,如果多次调用将会导致流的数据无法到达 Controller 层,报 400 错误。 Java 提供了多种方式来获取 Request 中的请求参数,...
3. **参数传递与返回值**:在Java调用Python时,可以通过命令行参数传递数据给Python脚本,或者使用文件、数据库等共享存储进行数据交换。Python脚本可以读取这些参数,执行相应的计算,然后通过标准输出(stdout)...
如果页面提交的数据编码不同,需在获取参数前通过`request.setCharacterEncoding("GBK")`或`request.setCharacterEncoding("gb2312")`设置请求编码。输出变量到页面时,可设置响应内容类型`response.setContentType...
在这个例子中,我们从`request`对象中获取了请求参数、请求头、请求方法、请求URI和查询字符串。实际开发中,这些信息常被用于业务逻辑处理或数据验证。 四、`HttpServletRequest`的其他功能 除了上述常见方法,`...
BufferedReader br = new BufferedReader(new InputStreamReader(resource.getInputStream())); License license = new License(); license.setLicense(br); } catch (Exception var3) { var3.printStackTrace...
3. `getInputStream()`:获取请求体的数据,通常用于POST请求中接收二进制数据。 4. `getLocale()`:获取客户端的首选语言。 `HttpServletResponse`对象则是用来构建服务器对HTTP请求的响应。你可以使用它来设置...