相关疑难解决方法(0)

如何使用NodeJS connect从请求中提取请求http标头

我想获得使用Node JS的连接库包发出的请求的"Host"头.我的代码看起来像:

var app = connect()
  .use(connect.logger('dev'))
  .use(connect.static('public'))
  .use(function(req, res){

    var host = req.???

  })
 .listen(3000);
Run Code Online (Sandbox Code Playgroud)

连接的文档在这里,但我没有看到任何详细说明req上述代码中的对象的API .http://www.senchalabs.org/connect/

编辑:注意一个成功的答案必须指向文档(我需要这个来验证哪个版本提供了我正在寻找的API).

node.js

243
推荐指数
5
解决办法
32万
查看次数

邮递员 - 如何使用已替换变量的标题和正文数据查看请求

我使用Postman Chrome插件调用HTTP请求进行软件测试.我使用环境和全局变量的环境功能来替换请求标头和正文中的变量.

变量替换正常工作(我可以告诉HTTP服务器的响应表明).

但是,我希望能够在替换变量之后看到Request Header和Body值.我怎样才能做到这一点?

postman

71
推荐指数
5
解决办法
7万
查看次数

Wiremock CORS 不起作用

我已经有效地使用了 wiremock 一段时间了,我想启用对模拟 API 的 CORS 访问。

我试过在响应头中设置 Access-Control-Allow-Origin: * 和其他头,但都无济于事。

这是我拥有的映射示例:

{
    "request": {
        "method": "POST",
        "urlPattern": "/api/v2/general/login[\\/\\&\\?]*",
        "bodyPatterns": [{
            "equalToJson": "{\"password\":\"password\",\"username\":\"john@cougar.com\"} ",
            "jsonCompareMode": "LENIENT",
            "ignoreArrayOrder" : true,
            "ignoreExtraElements" : true
        }]
    },
    "response": {
        "status": 200,
        "headers": {
            "Content-Type": "application/json",
            "Access-Control-Allow-Origin" : "*",
            "Access-Control-Allow-Methods" : "*",
            "Access-Control-Allow-Headers": "Accept, Content-Type, Content-Encoding, Server, Transfer-Encoding",
            "X-Content-Type-Options" : "nosniff",
            "x-frame-options" : "DENY",
            "x-xss-protection" : "1; mode=block"
        },
        "bodyFileName": "/login_response_johncougar.json"
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么导致 CORS 不起作用?

提前致谢。

rest cors wiremock

7
推荐指数
3
解决办法
6542
查看次数

浏览器中的 CORS 起源错误(前端 Angular、后端 Quarkus)

应用程序属性

#WEB
quarkus.tls.trust-all=true
quarkus.http.cors=true
Run Code Online (Sandbox Code Playgroud)

控制器

    @POST
    @Path("/result")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    @Operation(summary = "Show Even Result.", description = "This method will provide past Events result.")
    @Transactional
    public Response showEvenResult(@Valid EventResultRequest eventResultRequest) {
        log.info("BetSettlementController.users_result() :" + eventResultRequest);

        try {
            return Response.ok(resultService.usersBetsHistory(eventResultRequest)).build();
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return Response.status(Response.Status.INTERNAL_SERVER_ERROR). build();
        }

    }
Run Code Online (Sandbox Code Playgroud)

公开一个 API,该 API 在调用时提供一个包裹在响应对象周围的对象。从邮递员应用程序来看,它正在工作。但是当代码部署在“prod”环境上时,前端(Angular)在调用相同的 API 时会收到 CORS 错误。

浏览器控制台错误

从源“https://Front-end-URL”访问“https://Server-API-URL/events/result”处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头

java angular quarkus

5
推荐指数
2
解决办法
1962
查看次数

如何在 CherryPy 中设置 CORS

概述

创建从我的网站到运行 CherryPy 的 Python 服务器的发布请求时,我收到错误Access to XMLHttpRequest has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.. 我可以使用“CORS Everywhere”浏览器扩展程序之一暂时解决问题,但是

  1. 由于最近的更新,扩展程序尚未更新以再次运行。
  2. 所涉及的网站最终需要在没有浏览器扩展的情况下在我的本地综合体中被许多人使用,因此一旦扩展得到更新,无论哪种方式都无关紧要,因为我不能依赖这些扩展,并强迫每个人都使用它们(当显然有一个修复程序不需要扩展时)。我认为可能这些解决方案已经过时,但我不确定。

这是相关的代码:

在服务器端(CherryPy/Python):

从网站发布请求调用的 CherryPy Python 函数

@cherrypy.expose
@cherrypy.tools.json_in()
def add_meeting(self):
        data = None
        id = None
        start_time = None
        end_time = None
        title = None
        userlist = None
        result = {"operation": "request", "result": "success"}
        if cherrypy.request.method == "POST":
            data = cherrypy.request.json
            id = data["id"]
            start_time = data["start_time"]
            end_time …
Run Code Online (Sandbox Code Playgroud)

python cherrypy cors

4
推荐指数
1
解决办法
2106
查看次数

预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Methods

我在前端使用 Angular,在后端使用 Jersey。当我执行 PUT 请求时出现异常。这是角度代码:

const header=new Headers({'Content-Type':'application/x-www-form-urlencoded'});
header.append("Access-Control-Allow-Methods", "POST");
header.append("Access-Control-Allow-Headers","Access-Control-Allow-Origin");

return this.http.post('http://localhost:8080',home,{headers: header})
    .pipe(map((response: Response)=>{return response.json();}));
Run Code Online (Sandbox Code Playgroud)

这是我在泽西岛的过滤器:

@Provider
public class CORSResponseFilter implements ContainerResponseFilter {

    @Override
    public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
            throws IOException {

        responseContext.getHeaders().add("Access-Control-Allow-Origin", "*");
        //headers.add("Access-Control-Allow-Origin", "http://podcastpedia.org"); podcastpedia.org       
        responseContext.getHeaders().add("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,PATCH,OPTIONS");          
        responseContext.getHeaders().add("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers"); 
    }

}
Run Code Online (Sandbox Code Playgroud)

这是例外:

无法加载http://localhost:8080/预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Methods

有人可以帮助我吗?

jersey http-headers cors angular

3
推荐指数
1
解决办法
3万
查看次数

如何从请求中删除授权标头

我正在使用MEAN Stack用户注册和登录示例和教程作为我的应用程序的基础.它为run函数中的每个请求添加了一个auth标头:

$http.defaults.headers.common['Authorization'] = 'Bearer ' + $window.jwtToken;
Run Code Online (Sandbox Code Playgroud)

我想将图像上传到Cloudinary,但我收到此错误:

XMLHttpRequest无法加载https://api.cloudinary.com/v1_1/xxxx/upload.请求标头字段预检响应中的Access-Control-Allow-Headers不允许授权.

如何针对Cloudinary的请求专门删除此标头?

jwt angularjs cloudinary

1
推荐指数
1
解决办法
8621
查看次数