Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cookies 在HTTPoison(Elixir)中设置域cookie_Cookies_Elixir - Fatal编程技术网

Cookies 在HTTPoison(Elixir)中设置域cookie

Cookies 在HTTPoison(Elixir)中设置域cookie,cookies,elixir,Cookies,Elixir,好的,我在Elixir中的新问题是,我不能在创建cookie时设置显式域 在这种情况下: HTTPoison.get("httpbin.org/cookies", [{"User-agent", @userAgent}], hackney: [ cookie: "cookie1=1 cookie2=2"] ) do 当我创建一个cookie时,它将存储一个类似于.httpbin.org的域,但出于虚拟原因,我需要设置类似于httpbin.org的域值(没有前面

好的,我在Elixir中的新问题是,我不能在创建cookie时设置显式域

在这种情况下:

HTTPoison.get("httpbin.org/cookies", [{"User-agent", @userAgent}], hackney: [
            cookie: "cookie1=1 cookie2=2"]  ) do    
当我创建一个cookie时,它将存储一个类似于.httpbin.org的域,但出于虚拟原因,我需要设置类似于httpbin.org的域值(没有前面的点)

我也尝试过:

HTTPoison.get("httpbin.org/cookies", [{"User-agent", @userAgent}], hackney: [
                cookie: "cookie1=1 domain=httpbin.org cookie2=2"]  ) do 
但当然,语法要求域作为cookie名称,httpbin.org作为cookie值


谢谢大家!

您想在开始时删除圆点的原因是什么?它是可选的,并且应该匹配整个域(带/不带点)

另外,我认为
domain
属性将用于从HTTP服务器返回的
setcookie
头,而不是从客户端请求。httpbin()返回
setcookie
头,但它没有指定域属性(仅路径=/)。像浏览器这样的客户端将把它作为
.httpbin.org

iex(25)> response = HTTPoison.get!("https://httpbin.org/cookies/set?k2=v2&k1=v1")
%HTTPoison.Response{body: "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<title>Redirecting...</title>\n<h1>Redirecting...</h1>\n<p>You should be redirected automatically to target URL: <a href=\"/cookies\">/cookies</a>.  If not click the link.",
 headers: [{"Server", "nginx"}, {"Date", "Fri, 18 Dec 2015 23:49:46 GMT"},
  {"Content-Type", "text/html; charset=utf-8"}, {"Content-Length", "223"},
  {"Connection", "keep-alive"}, {"Location", "/cookies"},
  {"Set-Cookie", "k2=v2; Path=/"}, {"Set-Cookie", "k1=v1; Path=/"},
  {"Access-Control-Allow-Origin", "*"},
  {"Access-Control-Allow-Credentials", "true"}], status_code: 302}
iex(26)> :hackney.cookies(response.headers)
[{"k1", [{"k1", "v1"}, {"Path", "/"}]}, {"k2", [{"k2", "v2"}, {"Path", "/"}]}]
iex(25)>response=HTTPoison.get!("https://httpbin.org/cookies/set?k2=v2&k1=v1")
%HTTPoison.Response{body:“\n重定向…\n重定向…\n您应该自动重定向到目标URL:。如果没有,请单击链接。”,
标题:[{“服务器”,“nginx”},{“日期”,“Fri,2015年12月18日23:49:46 GMT”},
{“Content-Type”,“text/html;charset=utf-8”},{“Content-Length”,“223”},
{“连接”、“保持活动状态”}、{“位置”、“/cookies”},
{“Set Cookie”,“k2=v2;Path=/”},{“Set Cookie”,“k1=v1;Path=/”},
{“访问控制允许来源”,“*”},
{“访问控制允许凭据”,“true”}],状态代码:302}
iex(26)>:hackney.cookies(response.headers)
[{“k1”、[{“k1”、“v1”}、{“路径”、“/”}、{“k2”、[{“k2”、“v2”}、{“路径”、“/”}]}]
对不起,我没抓住要点