当前位置: 首页 > 知识库问答 >
问题:

Javascript-XMLHttpRequest post,使用Response获取

经嘉
2023-03-14

这是我的第一篇文章,因为我找不到任何解决我的问题的方法。(现在谷歌了几天)我不是程序员,我是一个好的谷歌人:)

我正在尝试使用用户名,密码和一些选项登录网站。(/api/login/Basic)之后,我尝试访问一个网站。(/api/sitemaster/run)但在这里,我收到消息:“用户没有足够的访问权限”如果我使用浏览器执行此操作,一切正常。

我想我需要将一些Authtoken传递给Get请求,但我没有线索。

这里是我的代码片段:

//这工作正常

const toSend = {
    email :"my@mail.com",
    force_sm_off: false,   //I have no clue (found from Net Sniffing of the original Application)
    password:"mypassword",
    username:"installer"}

const jsonString = JSON.stringify(toSend)  ;
const xhr = new XMLHttpRequest() ;
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0 //I have no certificate and only access the Site in my local network

xhr.open("POST", "https://192.168.2.77/api/login/Basic",false,"Provider_Engineer","mypassword" ) ;
xhr.setRequestHeader ("Content-Type", "application/json") ;
xhr.withCredentials=true ;
xhr.onreadystatechange = function() {
     const myresponse = JSON.parse(this.responseText) ; //myresponse contains: email, firstname, lastname,    roles: Array(1), token
       var myauth=myresponse.token //Saving Token for further use


   //fine until here

   //Now I'm trying to get the Page

    const xhr1 = new XMLHttpRequest() ;
    process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0
    xhr1.open("GET", "https://tesla/api/sitemaster/run",false ) ;
    xhr1.setRequestHeader ("Content-Type", "application/json") ;
    xhr1.setRequestHeader ("credentials", "same-origin") ;
    xhr1.setRequestHeader ("AuthCookie", myauth) ;  //In Browser F12 I can see AuthCookie and Userrecord
    xhr1.onreadystatechange = function() {
         console.log(this.responseText)  //getting Message: User does not have adequate access rights
    }     
    xhr1.send(null)
};
xhr.send(jsonString) ; //Post Request, that is working fine

任何建议,我如何访问这个网站?

关于斯特凡

共有1个答案

狄新立
2023-03-14

我想通了:

process.env['NODE_TLS_REJECT_UNAUTHORIZED']=0
xhr1.open("GET","https://tesla/api/sitemaster/run", false);

var myBearer= “Bearer” myauth ;

xhr1.setRequestHeader (“Authorization”, myBearer) ;

找到:通过 Javascript 发送授权令牌持有者

 类似资料:
  • 问题内容: 我需要计算在jQuery中完成的Ajax响应的长度。响应为JSON格式,仅包含一个字符串。我得到的值,但不知道如何计算此字符串的长度。 这是我的代码: 这是响应头的结构: 问题答案: 执行if条件,然后先将其转换为字符串,然后根据需要计算长度。

  • 问题内容: 我知道我可以通过JavaScript 设置 CSS值,例如: 但是,我可以获得当前的特定样式值吗?我已经读到了可以获取元素整个样式的地方,但是如果不需要的话,我不想解析整个字符串。 问题答案: 你可以使用getComputedStyle()。

  • 我想用JavaScript获取5天的天气预报。当我执行下面的代码时,我得到<code>类型错误:无法读取未定义to我获得当前天气,没有错误。为什么预测在我的情况下不起作用?我遗漏了什么吗? JavaScript(我想

  • 问题内容: 我想要的只是获取网站URL。不是从链接获取的URL。在页面加载过程中,我需要能够获取网站的完整,当前URL,并将其设置为一个变量,以便我随意使用。 问题答案: 使用: 如评论中所述,下面的行有效,但对于Firefox而言是错误的。

  • 问题内容: 遇到了似乎是同源政策的问题,这引起了很多麻烦! 为了追赶,我基本上是在仅提供用户名时尝试获取用户的steam64id。 例如,我的用户名:“ Emperor_Jordan”将转到: http://steamcommunity.com/id/emperor_jordan?xml=1 而我需要的小蒸汽就在顶部。所以我想我将使用JQuery Ajax来获取它并解析出我以后需要使用的id(st

  • return Response::make($contents); return Response::make($contents, 200); return Response::json(array('key' => 'value')); return Response::json(array('key' => 'value')) ->setCallback(Input::get('callba