如何解决拒绝在Javascript中设置不安全标头“User-Agent”的问题

Mar*_*ait 5 javascript xmlhttprequest

我正在尝试构建一个 json/javascript 界面来检查haveibeenpwned 上的电子邮件。

但是,当尝试设置标头时,我收到错误(在开发人员工具中):

jquery-1.10.2.js:8699 拒绝设置不安全标头“User-Agent”

这是我的代码:

 $(document).ready(function() {
    $.ajax({
      url: 'https://haveibeenpwned.com/api/v2/breachedaccount/mark@fixitks.co.uk',
      type: 'GET',
      dataType: 'json',
      success: function() { alert('hello!'); },
      error: function() { alert('boo!'); }
      ,
      headers: {
  'User-Agent': 'uaheader'
}
    });
  });
Run Code Online (Sandbox Code Playgroud)

我可以在浏览器中从 C# 运行类似的代码,没有任何问题,但在 Javascript 中则不行。

有没有办法解决。

谢谢,马克

Cod*_*ode 2

方法有许多禁止的标头setRequestHeader。你可以检查在这里查看

\n\n

该医生还说,

\n\n
\n

注意:不再禁止 User-Agent 标头,根据规范 \xe2\x80\x94 请参阅\n 禁止标头名称列表(这是在 Firefox 43 中实现的) \xe2\x80\x94 现在可以在Fetch Headers 对象,或通过 XHR\n setRequestHeader()。

\n
\n\n

因此,如果您从 Firefox 43+ 运行它,它不会显示 Refused to set unsafe header "User-Agent"

\n\n

如果您从服务器发出请求,则不会遇到此问题

\n