/** * 获取httpBody中的请求数据处理后并以JSON格式返回到httpBody中 测试@ReponseBody(有) @RequestBody(有) * * @param userLoginMap * @param request * @return * @throws IOException */ @RequestMapping(value = "/user/login1.json", method = RequestMethod.POST, headers = { "content-type=application/json" }) public @ResponseBody String login(@RequestBody Map<String, String> userLoginMap, HttpServletRequest request) throws IOException { if (userLoginMap.get("account") == null || userLoginMap.get("password") == null) { return "{\"code\":-400,\"message\":\"参数错误。\"}"; } JSONObject jo = new JSONObject(); try { jo.put("code", "1").put("message", "登录成功!"); } catch (JSONException e) { e.printStackTrace(); } return jo.toString(); } /** * 获取httpBody中的请求数据处理后并以JSON格式返回到httpBody中 测试@ReponseBody(无) @RequestBody(无) * * @param userLoginMap * @param request * @return * @throws IOException */ @RequestMapping(value = "/user/login2.json", method = RequestMethod.POST, headers = { "content-type=application/json" }) public void login(HttpServletRequest request, HttpServletResponse response) throws IOException { /** * 获取request body中的信息,用来代替spring中@RequestBody */ System.out.println(UserInfoTestController.getBodyString(request .getReader())); /** * 获取request header中的信息 */ UserInfoTestController.getHeaderString(request); JSONObject jo = new JSONObject(); try { jo.put("code", "1").put("message", "登录成功!"); } catch (JSONException e) { e.printStackTrace(); } /** * 返回头信息到body中,用来代替@ResponseBody */ response.setContentType("application/json; charset=UTF-8"); response.getWriter().print(jo.toString()); } /** * 获取http请求中body部分的信息,用来代替spring中@RequestBody * * @param br * @return */ public static String getBodyString(BufferedReader br) { String inputLine; String str = ""; try { while ((inputLine = br.readLine()) != null) { str += inputLine; } br.close(); } catch (IOException e) { System.out.println("IOException: " + e); } return str; } /** * 获取http请求中header中的参数 * * @param request */ public static void getHeaderString(HttpServletRequest request) { Enumeration<String> enu = request.getHeaderNames(); while (enu.hasMoreElements()) {// 以此取出头信息 String headerName = (String) enu.nextElement(); String headerValue = request.getHeader(headerName);// 取出头信息内容 System.out.println(headerName + ":" + headerValue); } }
模拟http请求:
HttpClient httpClient = new HttpClient(); StringRequestEntity requestEntity = new StringRequestEntity( "{\"account\":\"zzstxx\",\"password\":\"123456\",\"clientType\":\"3\"}", "application/json", "UTF-8"); PostMethod postMethod = new PostMethod( "http://127.0.0.1:81/user/login2.json"); postMethod.setRequestEntity(requestEntity); System.out.println(postMethod.getURI()); int statusCode = httpClient.executeMethod(postMethod); System.out.println("JSON:" + postMethod.getResponseBodyAsString()); System.out.println("获取的最终状态为:" + statusCode);
DefaultHttpClient httpClient = new DefaultHttpClient(); String url = "http://127.0.0.1:81/user/login2.json"; HttpPost httpPost = new HttpPost(url); // 设置请求的header参数 httpPost.addHeader("AppKey", "94kid09c9ig9k1loimjg012345123456"); httpPost.addHeader("Content-Type", "application/json;charset=utf-8"); // 设置请求的body参数 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("accid", "helloworld")); httpPost.setEntity(new UrlEncodedFormEntity(nvps, "utf-8")); // 执行请求 HttpResponse response = httpClient.execute(httpPost); // 打印执行结果 System.out.println(EntityUtils.toString(response.getEntity(), "utf-8"));
相关推荐
本代码是处理android hybrid混合应用,遇到的webview 拦截 header referer 问题的解决。 场景:angular $HTTP 或者js的http请求或者...webview成功拦截get 、post、delete请求,添加header,referer以及body 参数体。。
我们在使用spring cloud时如果设置了oauth2授权模式,那么应用服务A再调用服务B时使用Feign请求会出现401授权认证的问题,那么解决办法就是在feign调用请求时获取到assessToken并设置到请求header中就可以解决这个...
一个 Web 会话可以也经常会跨越多个客户机请求 application是是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域 3.Request对象的主要方法...
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...
'$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出...
通过填写URL、header、body等就可以发送一个请求,这对于我们平时做一些简单的测试是够用的。如果你的应用需要用到登录验证,可以通过填写Authorization以满足你的需求。另外也可以使用Chrome浏览器已经登录的cookie...
2. Action类相应方法使用封装好的HttpClient相关工具类,准备好HTTP请求的相关参数header参数和body参数并以xml的方式提交HTTP请求; 3. 解析该HTTP请求返回值(XML或JSON); 4. 响应结果; 5. 测试; 备注: 开发...
FRequest:FRequest-一个快速,轻量级且开源的桌面应用程序,用于发出HTTP请求
Services(服务器应用程序,Web Server 通常是C/C++/Java写的)、服务器脚本 PHP ,服务器脚本,Web Framework(服务器脚本框架) 一个普通网站访问的过程: 用户操作浏览器访问,浏览器向服务器发出一个 HTTP 请求...
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...
它是一种通用的,无状态(stateless)的协议,除了应用于超文本传输外,它也 可以应用于诸如名称服务器和分布对象管理系统之类的系统,这可以通过扩展它的请求方法,错误代码和报头[47]来实现。HTTP的一个特点是数据...
W3 OSI(开放式系统互连参考模型),应用层(Application Layer),应用程序,请求/响应(请求/响应)。 支持TCP(传输控制协议)和HTML / 3支持UDP(用户数据报协议),支持80级。 HTTP的URL:URL(统一资源定位符...
文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...
URL的测试频率以及应用于请求响应的断言是可配置的。 该项目可从PyPI获得: ://pypi.python.org/pypi/cachet-url-monitor 组态 endpoints : - name : Google url : http://www.google.com method : GET header...
1、编写一对 body 标记,在body标记中,嵌套一对 div标记,在 div 标记中 ,嵌套一对 a 标记,在 a标记中,嵌套一对 b 标记,b标记中,随意编写一些文本 <body> 这是一段测试文本 </body> ...
与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅...
2、IHttpClient 和 IHttpAgent 组件改进 HEAD 请求的响应处理方式,应用程序无需在 OnHeadersComplete 事件中返回特殊值 HPR_SKIP_BODY > 其它更新: 1、公共代码包 vc-common-src 版本升级到 v2.3.19 2、OpenSSL ...
针对不同的行业和应用,这些DTD文件已经建立了通用的元素和标签规则。你不需要自己重新创建,只要在他们的基础上加入你需要的新标识。 当然,如果愿意,你可以创建自己的DTD,它可能和你的文档配合的更加完美。建立...
关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。 jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。 选择器允许您对 HTML 元素组或单个元素进行操作。 在 ...