dart:html HttpRequest拒绝设置不安全的标题&无访问控制允许原点

时间:2014-03-27 09:38:19

标签: dart httprequest dart-io

我想将值放到Http Header(etc Cookie,User-Agent ...)

设置“Cookie”& Http Header中的“User-Agent”值显示以下错误消息。

如何在Http Header中输入值?

拒绝设置不安全标头“Cookie” 拒绝设置不安全的标题“User-Agent” XMLHttpRequest无法加载serverip。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原始'datium服务器'访问。

import "dart:html";
import "dart:convert";


final ButtonElement loginButton = querySelector("#login");

void main() {

  loginButton.onClick.listen((e) {

    requstTest();

  });

}

void requstTest(){

  var request = new HttpRequest();

  request.open('GET', 'serverurl');

  request.setRequestHeader("Cookie", "JSESSIONID : cdsfasdfA49596CBD1949");

  request.setRequestHeader("User-Agent", "test");

  request.onLoad.listen((event) => print('Request complete ${event.target.reponseText}'));

  request.send();
}

1 个答案:

答案 0 :(得分:2)

在客户端上似乎不允许为单个HtmlRequest调用设置cookie

Refused to set unsafe header "Cookie" with ajax call Rest server

您可以在文档上设置Cookie

document.cookie = "JSESSIONID=caölsdjf";

有些库可以让您更轻松:https://pub.dartlang.org/packages/cookie

据我所知,浏览器通常不允许伪造用户代理。

此规范包含浏览器不允许的标头列表:

https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-setrequestheader