post请求

前端ajax用post方式提交json数据给后端时,网络报错 415

空扰寡人 提交于 2020-02-29 23:17:52
项目框架:spring+springmvc+mybatis 问题描述:前端ajax用post方式提交json数据给后端时,网络报错 415 前端异常信息:Failed to load resource: the server responded with a status of 415 (Unsupported Media Type) 后端异常信息:无 报错原因:缺少jackson包 类似问题注意点: springmvc添加配置、注解; pom.xml添加jackson包引用; Ajax请求时没有设置Content-Type为application/json 发送的请求内容不要转成JSON对象,直接发送JSON字符串即可 <!-- json解析包 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.5.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.2</version> <

request.getParameter() 和request.getAttribute() 区别

爷,独闯天下 提交于 2020-02-29 09:27:05
request.getParameter() 和request.getAttribute() 区别 getParameter 是用来接受用post个get方法传递过来的参数的. getAttribute 必须先setAttribute. (1)request.getParameter() 取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。 (2)request.getParameter() 方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。 request.setAttribute() 和 getAttribute() 方法传递的数据只会存在于Web容器内部 还有一点就是,HttpServletRequest 类有 setAttribute() 方法,而没有setParameter() 方法。 来源: https://www.cnblogs.com/jing1617/p/8675127.html

HttpClient 学习整理

断了今生、忘了曾经 提交于 2020-02-27 21:40:47
HttpClient 学习整理 HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的实现,发现这个开源项目之后就有点眉目了,令人头痛的cookie问题还是有办法解决滴。在网上整 理了一些东西,写得很好,寄放在这里。 HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient,更多使用 HttpClient 的应用可以参见 http://wiki.apache.org/jakarta-httpclient/HttpClientPowered 。HttpClient 项目非常活跃,使用的人还是非常多的。目前 HttpClient 版本是在 2005.10

HTTP访问控制(CORS)

岁酱吖の 提交于 2020-02-27 20:26:50
当一个资源从与该资源本身所在的服务器不同的域或端口请求一个资源时,资源会发起一个 跨域 HTTP 请求 。 比如,站点 http://domain-a.com 的某 HTML 页面通过 <img> 的 src 请求 http://domain-b.com/image.jpg。网络上的许多页面都会加载来自不同域的CSS样式表,图像和脚本等资源。 出于安全考虑,浏览器会限制从脚本内发起的跨域HTTP请求。例如, XMLHttpRequest 和 Fetch 遵循 同源策略 。因此,使用 XMLHttpRequest 或 Fetch 的Web应用程序只能将HTTP请求发送到其自己的域。为了改进Web应用程序,开发人员要求浏览器厂商允许跨域请求。 (译者注: 这段描述跨域不准确, 跨域并 非 不一定是浏览器限制了发起跨站请求, 而 也可能是跨站请求可以正常发起,但是返回结果被浏览器拦截了。最好的例子是 CSRF 跨站攻击原理,请求是发送到了后端服务器无论是否跨域!注意:有些浏览器不允许从 HTTPS 的域跨域访问 HTTP,比如 Chrome 和 Firefox,这些浏览器在请求还未发出的时候就会拦截请求,这是一个特例。) 跨域资源共享( CORS )机制允许 Web 应用服务器进行跨域访问控制,从而使跨域数据传输得以安全进行。浏览器支持在 API 容器中(例如

CSRF攻击

我的梦境 提交于 2020-02-27 20:16:32
利用场景:后台存在添加管理员的功能,如下: 进行抓包观察,发现成功抓包 那么为了防止类似的CSRF攻击的话,肯定需要进行防御措施: 1、验证请求是否token合法 2、判断请求的来源是否合法 token验证: <script type="text/javascript"> function login() { var token = "{$token}" $.post("/index.php?m=index&a=add", { username: $("#username").val(), password: $("#password").val(), token: token, }, function (data) { if (data.status == 1) { window.location.href = data.data.url } else { alert(data.msg) } }, 'json'); } </script> $username = isset($_POST['username']) ? $_POST['username'] : ''; $password = isset($_POST['password']) ? $_POST['password'] : ''; $token = isset($_POST['token']) ? $_POST[

CORS讲解

馋奶兔 提交于 2020-02-27 20:13:36
跨域资源共享( CORS ) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器 不同的域、协议或端口 请求一个资源时,资源会发起一个 跨域 HTTP 请求 。 什么情况下需要 CORS ? XMLHttpRequest 或 Fetch 发起的跨域 HTTP 请求。 Web 字体 (CSS 中通过 @font-face 使用跨域字体资源), 因此,网站就可以发布 TrueType 字体资源,并只允许已授权网站进行跨站调用 。 WebGL 贴图 使用 drawImage 将 Images/video 画面绘制到 canvas 样式表(使用 CSSOM ) 功能概述 跨域资源共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些源站通过浏览器有权限访问哪些资源。 另外,规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求), 浏览器必须首先使用 OPTIONS 方法发起一个预检请求(preflight request),从而获知服务端是否允许该跨域请求。 服务器确认允许之后,才发起实际的 HTTP 请求。 在预检请求的返回中

php的CURL使用及例子

点点圈 提交于 2020-02-27 07:40:25
使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库。 PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭一个curl会话 curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数 curl_errno — 返回一个包含当前会话错误信息的数字编号 curl_error — 返回一个包含当前会话错误信息的字符串 curl_exec — 执行一个curl会话 curl_getinfo — 获取一个curl连接资源句柄的信息 curl_init — 初始化一个curl会话 curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源 curl_multi_close — 关闭一个批处理句柄资源 curl_multi_exec — 解析一个curl批处理句柄 curl_multi_getcontent — 返回获取的输出的文本流 curl_multi_info_read — 获取当前解析的curl的相关传输信息 curl_multi_init —

restTemplate的get post请求不同的header设置及传参方式

喜欢而已 提交于 2020-02-26 16:59:49
1.post 请求 //有参 请求体【body体中】json参数 JSONObject params=new JSONObject(); params.put("param1","value1"); JSONObject jsonobject=restTemplate.postForTemplate(url,params,JSONObject.class); //有参 请求体中json参数 设置header头 JSONObject param = new JSONObject(); param.put("param1","value1"); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); headers.set("Accept", "application/json"); HttpEntity httpEntity = new HttpEntity<>(param, headers); JSONObject jsonObject = restTemplate.postForObject(url, httpEntity, JSONObject.class); 2.get请求 @Autowired private RestTemplate

har2case二次开发

☆樱花仙子☆ 提交于 2020-02-26 12:01:02
preLogin请求 login请求 员工列表查询请求 获取员工信息的请求 更新员工信息的请求 将请求导出为har文件 全局关联设置的字典列表 # 所有需要提取数据的接口都配进来,这里只配了两个。 CORRELATION_DICT_LIST = [ { "url" : "https://tes.yangzc.cn/xlc-ops-b/entryUser/getUserPage" , "params" : [ { "name" : "data.0.id" , "value" : None , "extract" : "userId" } ] } , { "url" : "https://tes.yangzc.cn/xlc-ops-b/preLogin" , "params" : [ { "name" : "data.1.companyId" , "value" : None , "extract" : "companyId" } ] } , ] 自定义的字典列表 # har文件里面涉及的需要提取数据的接口使用my_dict_list进行存储 my_dict_list = [ ] 自定义数据提取函数 def _make_extract ( self , teststep_dict , entry_json ) : """ :param teststep_dict: :param

springboot通过后端的方法解决Cors跨域问题

可紊 提交于 2020-02-25 19:09:26
在后端编写一个配置类,重写WebMvcConfigurer的addCorsMappings方法,如下 package com . ljw . springboottest . config ; import org . springframework . context . annotation . Configuration ; import org . springframework . web . servlet . config . annotation . CorsRegistry ; import org . springframework . web . servlet . config . annotation . WebMvcConfigurer ; @Configuration public class CrosConfig implements WebMvcConfigurer { @Override public void addCorsMappings ( CorsRegistry registry ) { registry . addMapping ( "/**" ) . allowedOrigins ( "*" ) //允许所有的域进行跨域 . allowedMethods ( "GET" , "HEAD" , "POST" , "PUT" ,