Axios调用api与GET成为OPTIONS
我使用Axios调用API(在前端). 我使用该方法" get": import axios from 'axios'; import querystring from 'querystring'; var url = "mydomain.local", token = "blablabla...blabla"; var configs = { headers: { 'Authorization': 'Bearer ' + token, 'Agency': 'demo0' } }; var testapi = axios.create({ baseURL: 'http://api.' + url }); testapi.get( '/relativeUrl', configs ).then(function (response) { console.log(response);
8 2024-03-23
编程技术问答社区
CORS: 为什么我得到成功的预检OPTIONS,但在发布时仍然得到CORS错误?
我使用Axios有一个VUE前端来制作HTTP请求,并使用Express进行节点后端.它们在不同的域(在本地运行时,BE端口为3080,而Fe端口为3000),我正在使用 CORS 节点后端中的库来处理CORS问题.尽管有前飞行的工作,但邮政请求仍会失败,因为CORS错误! 当我发送发布请求时,浏览器会为飞行前请求获得美丽的204个成功响应,并配有这些漂亮的成功标题: Access-Control-Allow-Headers: content-type Access-Control-Allow-Methods: POST Access-Control-Allow-Origin: http://localhost:3000 Connection: keep-alive Content-Length: 0 Date: Thu, 21 Apr 2022 03:25:54 GMT Keep-Alive: timeout=5 Vary: Origin, Access-Control-R
4 2024-03-23
编程技术问答社区
Preflight响应403禁止。我怎样才能允许没有x-api-key的选项方法?
我正在使用SAM在CloudFormation中创建我的API. 我在我的选项方法上禁止禁止403 我如何允许我的选项方法以200 OK回复,而无需我的X-API-KEY? 我尝试了很多stackoverflow答案,但不适合我的SAM模板格式.我尝试了允许头的所有不同组合.我已经选择了X-api-key-仍然是相同的403禁止. 如果我在请求时将我的X-api Key发送到Postman中,我会得到200个,但是在我的ReactJS应用程序中,它仍然给出的错误与下方不通过的情况相同. . 控制台对GET方法的响应 邮政对选项方法的响应(前飞行测试) CloudWatch错误 template.yaml Globals: Function: Timeout: 10 Api: Cors: AllowMethods: "'DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'"
6 2024-03-22
编程技术问答社区
AWS API网关错误在进行选项请求时
我正在使用CFT为我的API创建ENV.我添加了CORS的选项.我注意到从AWS console for OPTIONS进行测试时,我会得到200响应.但是,当我从CURL or PostMan中进行同样的操作时,我会遇到500内部服务器错误.在审查了与之相关的问题之后.我已将集成存储响应修改为convert_to_text.但这也无法解决问题. 我注意到日志中的有线行为.以下是AWS控制台请求的日志片段: Sat Apr 13 15:06:26 UTC 2019 : Method request headers: { Access-Control-Request-Method= POST, Content-Type= application/json} Sat Apr 13 15:06:26 UTC 2019 : Method request body before transformations: Sat Apr 13 15:06:26 UTC 2019 : Metho
10 2024-03-22
编程技术问答社区
禁用Tomcat中OPTIONS请求的认证
我有一个受基本auth保护的API.当我想针对API提出AJAX请求时,浏览器会发送一个未携带授权标头的选项请求,因此拒绝了它,因此浏览器不允许我的AJAX调用. 我试图配置tomcat以不身份验证选项请求,但我不设置它. 有人可以帮助我实现它? 谢谢:) 解决方案 我找到了解决方案,我必须指定应用身份验证的HTTP方法列表.默认值是对所有方法应用.
4 2024-03-20
编程技术问答社区
在IIS中托管的WebAPI的CORS问题
我正在尝试实现一个应用程序,该应用程序在此 真的很棒的例子 taiseer joudeh. 在我的应用程序中,我一直遇到CORS问题.在某些配置中,我会在邮政上邮政的邮政请求(选项)上获得500个错误以获取令牌,否则我可以获取令牌,然后在前跨请求中获取404错误,以获取使用带有实际API调用的Get request to with the the实际API调用承载令牌. 一个区别是,设置了Taiseer的代码以在Iisexpress(或Azure)中托管,并且我的矿山托管在本地IIS(目前在Windows 7上运行). 在一次直觉上,我尝试在本地IIS下托管他的API,但发现了完全相同的问题. (对令牌的飞行前请求500错误,看来实际的API可以正常工作) 根据我一直在阅读的内容,似乎这可能是IIS中的模块和处理程序与WebAPI中的CORS实现之间的冲突,但是Taiseer在Azure托管时的实现有效,因此也许这是IIS版本的区别(我目前在Windows 7下运
10 2024-03-16
编程技术问答社区
在我的angular项目中,在消费web api时,预检的响应有无效的http状态代码404
我知道这是CORS问题.我已经在Web API服务器端启用了CORS. GET方法工作正常,但是在处理Post方法时,我面临问题.请有人在Web API和客户端上使用非常简单的帖子示例来回答我.通过解释如何处理前飞行,选项等. 控制台 1)区域.js:2935选项 http://http://localhost 404(找不到) 2)无法加载 web.config
6 2024-03-16
编程技术问答社区
如何在IIS上用Windows认证授权CORS预检请求
我在ASP.NET Core 2(Windows身份验证)上有一个API,并且在Angular上有一个正面. 我做了一个CORS配置,以从Spa Angular查询我的后端,但是IM因飞行前被IIS服务器而被拒绝,因为他没有识别信息. . 错误消息: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://XXXXXX' is therefore not allowed access. The response had HTTP status code 401. 代码侧面: //MY HEADER private headers = new Headers({ 'Content-Type': 'app
8 2024-03-16
编程技术问答社区
CORS预检通道的CORS头'Access-Control-Allow-Headers'中缺少令牌'access-control-allow-headers'。
我有两个VS项目:一个暴露MVC5控制器,另一个是角度客户端.我希望Angular客户端能够查询控制器. 我阅读了许多线程,并尝试了以下内容: 我在服务器的Web配置中添加了此内容: 我创建并使用了控制器动作上的以下过滤器: public class AllowCrossSiteJsonAttribute : ActionFilterAttribute { public override void OnActionExecuting(Acti
12 2024-03-13
编程技术问答社区
对预检请求的响应没有通过访问控制检查: 它不具备HTTP ok状态。GET工作 POST PUT DELETE不工作
问候 我有一个具有以下架构的Web应用程序: Web API:ASP.NET Core 2.1(Windows Authentication) UI:Angular 8 UI能够获取数据,但无法发送数据. 我的意思是,Get Method工作正常,但是发布,删除选项不起作用. 所有方法都在使用Postman工作. 错误是: 访问' 任何帮助将不胜感激. 预先感谢:) 解决方案 这是我使用的,应该为您的情况有效. 我的startup.cs configureservices()装饰有: services.AddCors(feature => feature.AddPolicy( "CorsPolicy", apiPolicy => apiPolicy //.A
6 2024-03-12
编程技术问答社区
MVC6 Cors-intercept预检
我将WebAPI(S)升级到MVC6. 在WebAPI中,我可以拦截每个HTTP请求,如果是前飞行,我可以用浏览器接受的标题回复. 我试图弄清楚如何在MVC6 webapi中做同样的事情. 这是WebAPI代码. protected void Application_BeginRequest(object sender, EventArgs e) { if (Context.Request.Path.Contains("api/") && Context.Request.HttpMethod == "OPTIONS") { Context.Response.AddHeader("Access-Control-Allow-Origin", Context.Request.Headers["Origin"]); Context.Response.AddHeader("Acc
6 2024-03-12
编程技术问答社区
如何启用Apache网络服务器的CORS功能(包括预检和自定义头文件)?
一般: Request URL:x/site.php Request Method:OPTIONS Status Code:302 Found Remote Address:x.x.x.x:80 响应标题: view source Access-Control-Allow-Headers:Content-Type Access-Control-Allow-Origin:* Access-Control-Max-Age:300 Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Content-Length:0 Content-Type:text/html; charset=UTF-8 Date:Thu, 02 Mar 2017 14:27:21 GMT Expires:Thu, 19 Nov 1981 08:52:00 GMT Location:y Pragma:no-c
18 2024-02-27
编程技术问答社区
带有小数点和减号的计算器正则表达式
正在尝试使用像这样的CORS模块配置在节点JS中在全球范围内设置访问对照 - 允许的标题. `var cors = require('cors'); var corsOptions = { origin: true, 'Access-Control-Allow-Origin': 'localhost:1550' 'Access-Control-Allow-Credentials': 'true' }; app.use(cors(corsOptions));` 这似乎不起作用,所以我也将其设置为试图为飞行前响应设置的路线.我设置了这个 `router.options('/login', cors(corsOptions));` 我检查了Chrome Developer工具,我看到Access-Control-Allow-Origin设置了标题,但未设置Access-Control-Allow-Credentials.我需要此标头,因为
6 2024-02-24
编程技术问答社区
由于CORS的原因,HTTP发布请求失败了
我没有设法运行我的应用程序.我整天都在阅读有关这件事的信息,尝试了很多东西,但最终没有任何作用.在最后一次尝试中,我尝试了此@POST @Path("login") @Produces(value = "application/json") public Response login() { AccountAuthentificator authentificator = AccountAuthentificator.getInstance(); Status status = Response.Status.OK; String credentialValue = getHeaderValue(AccountAuthentificator.AUTH_CREDENTIALS); if (credentialValue == null) { status = Response.Status.FORBIDDEN; return WebServiceUtil.createResponse(st
12 2024-02-24
编程技术问答社区
飞行前请求未被触发以进行CORS检查
我了解,如果以下任何条件为 false (来源: https://developer.mozilla.org.org/en-us/docs/web/web/http/http/cors#simple_requests ): 请求方法是获取,头或帖子. 未设置自定义标题. content-type标头值是application/x-www-form-urlencoded,multipart/form-data或text/plain. 我有一个Web应用程序,该应用程序将GET请求发送到不同原点的服务器.由于我必须将cookie发送到服务器,因此属性withCredentials设置为true.标题Content-Type设置为application/json.对于此请求,浏览器不会触发飞行前请求,但是应该因为第三条条件是错误的.这背后的原因是什么?它与Content-Type标题的无关紧要有关(因为没有请求主体)? 编辑:添加请求代码: configObject
8 2024-02-24
编程技术问答社区
谷歌reCAPTCHA,405错误和CORS问题
我正在使用Angularjs,并尝试与Google的Recaptcha一起工作, 我使用的是" 明确渲染recaptcha widget "方法来在我的网页上显示recaptcha, html代码 - var onloadCallback = function() { grecaptcha.render('loginCapcha', { 'sitekey' : 'someSiteKey', 'callback' : verifyCallback, 'theme':'dark' }); }; var auth=''; var verifyCallback = function(response) { //storing the Google r
10 2024-02-24
编程技术问答社区
如何跳过OPTIONS飞行前请求?
我已经开发了一个电话盖应用程序,该应用程序现在正在转换为移动网站.除了一个小故障之外,一切正常.我通过POST请求使用某个第三方API,该请求在应用程序中正常工作,但在移动网站版本中失败. 仔细观察后,似乎Angularjs(我想实际上是浏览器)首先发送选项请求.我今天学到了很多关于CORS的知识,但我似乎无法弄清楚如何完全将其禁用.我无法访问该API(这是不可能的更改),但是他们添加了我正在努力的访问控制的域. 这是我正在谈论的代码: var request = { language: 'fr', barcodes: [ { barcode: 'somebarcode', description: 'Description goes here'
10 2024-02-23
编程技术问答社区
AngularJS对一个跨原产地资源执行OPTIONS HTTP请求
我正在尝试设置AngularJS与交叉原始资源进行通信,其中将我的模板文件传递在另一个域上的资产主机,因此必须交叉域的XHR请求.我已将适当的CORS标头添加到我的服务器中以进行HTTP请求以进行此工作,但似乎不起作用.问题是,当我在浏览器(Chrome)中检查HTTP请求时,发送到资产文件的请求是选项请求(应该是GET请求). 我不确定这是AngularJS中的错误还是我是否需要配置某些内容.据我了解,XHR包装器无法做出选项HTTP请求,因此看起来浏览器正在尝试弄清楚是否允许"允许"在执行GET请求之前首先下载资产.如果是这种情况,那么我需要设置CORS标头(access-control-allow-origin: 解决方案 选项请求绝不是AngularJS错误,这就是交叉原始资源共享标准授权的方式.请参阅此文档: https://developer.mozilla.mozilla.org/en-us/en-us/docs/docs/docs/httppp_access_co
10 2024-02-23
编程技术问答社区