小编use*_*827的帖子

使用Postman工具/ cURL /在Chrome控制台中测试CORS

我正在使用Postman工具测试CORS并且我经常得到

access-control-allow-origin ? null
Run Code Online (Sandbox Code Playgroud)

对于GETOPTIONS要求

http://localhost:4000/api/accounts?Host=http://localhost:4200/&X-Origin=http://jquery.com
Run Code Online (Sandbox Code Playgroud)

也使用OriginX-Origin不是改变结果.同时,如果我像这样使用cURL

 curl -H "Origin: http://jquery.com" --verbose http://localhost:4000/api/accounts
Run Code Online (Sandbox Code Playgroud)

我确实可以访问API

< access-control-allow-origin: http://jquery.com
Run Code Online (Sandbox Code Playgroud)

我还使用httpchrome javascript控制台打开jQuery网站以执行此代码:

$.get("http://localhost:4000/api/accounts").then(function(val){console.log(val);})
Run Code Online (Sandbox Code Playgroud)

它打印了API返回的JSON对象.

现在我的问题如下:

  1. 如何使用Postman正确测试CORS?我注意到,当设置服务器上的allow origin选项时,*Postman确实会返回

    access-control-allow-origin ? *

只有当我明确允许一组来源时才会出现上述问题:

`origin: ["https://www.getpostman.com/", "http://localhost:4200/", "http://jquery.com"]`
Run Code Online (Sandbox Code Playgroud)
  1. 我注意到允许http://jquery.com/http://jquery.com不允许来源的请求Origin=http://jquery.com
  2. 我注意到,即使请求来自非授权来源,cURL也会返回资源的内容(在本例中为JSON数据).这是正常的还是意味着我忘了在服务器上配置暴露这些数据的东西?

curl cors google-chrome-devtools postman

7
推荐指数
2
解决办法
4万
查看次数

Ruby/Rails中的夏令时开始和结束日期

我正在开发一个Rails应用程序,我需要在给定特定偏移量或时区的情况下找到夏令时开始和结束日期.

我基本上在我的数据库中保存从用户的浏览器("+3","-5")收到的时区偏移量,并且由于夏令时,我想在它改变时修改它.

我知道Time实例变量具有dst?isdst方法,如果存储在它们中的日期是夏令时,则返回true或false.

 > Time.new.isdst
 => true 
Run Code Online (Sandbox Code Playgroud)

但是使用它来查找夏令时开始和结束日期将占用太多资源,我还必须为每个时区偏移执行此操作.

我想知道更好的方法.

ruby timezone ruby-on-rails dst timezone-offset

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

如何在GenServer中执行对当前进程的调用?

我知道我可以像这样叫GenServer

GenServer.call(pid, request)
# using a pid
Run Code Online (Sandbox Code Playgroud)

或者像这样

GenServer.call(registered_name, request)
# if I registered the process with a name
Run Code Online (Sandbox Code Playgroud)

但有没有办法GenServer.call在不知道pid /注册名称的情况下执行模块内部?(即有什么类似GenServer.call(__CURRENT_PROCESS__, request)?)

elixir erlang-otp

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

在Elixir应用程序中加载Erlang项目

我正在构建一个使用hackneyErlang项目的Elixir应用程序,我无法使用hackney提供的方法.我mix.exs看起来像这样:

defmodule Connecter.Mixfile do
  use Mix.Project

  def project do
    [app: :connecter,
     version: "0.0.1",
     elixir: "~> 1.2-dev",
     build_embedded: Mix.env == :prod,
     start_permanent: Mix.env == :prod,
     deps: deps]
  end

  # Configuration for the OTP application
  #
  # Type "mix help compile.app" for more information
  def application do
    [applications: [:logger]]
  end

  # Dependencies can be Hex packages:
  #
  #   {:mydep, "~> 0.3.0"}
  #
  # Or git/path repositories:
  #
  #   {:mydep, git: "https://github.com/elixir-lang/mydep.git", tag: "0.1.0"}
  #
  # Type "mix help …
Run Code Online (Sandbox Code Playgroud)

elixir-mix elixir

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