Запрос узла JS через прокси. Как получить заголовок ответа? - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь получить заголовок ответа веб-сайта и получить куки, которые я могу найти внутри. Нет проблем, это работает, когда я запускаю запрос через терминал с "node file.js".

Но я запускаю запрос POST через локальную HTML-страницу, поэтому я использовал browersify для возможности запуска запроса со стороны клиента (или, по крайней мере, это то, что я понял).

Тогда я использую прокси-сервер CORS, чтобы обойти проблемы «Нет заголовка Access-Control-Allow-Origin». Когда я запускаю запрос с моей локальной HTML-страницы, он работает, и я могу прочитать тело, но не могу найти заголовок отклика веб-сайта и получить нужный мне файл cookie.

Вот как выглядит мой запрос:

    function connectionInfoConcert(account, psw, next){
console.log("-------------CREATE HEADER-------------\n")
var options = {
    method: 'POST',
    url: 'https://tranquil-thicket-71867.herokuapp.com/https://www.infoconcert.com/mon-infoconcert/connexion.html',
    headers: {
      'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
      'Accept-Language':'fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7',
      'Cache-Control':'max-age=0',
      'Connection':'keep-alive',
      'Content-Length':'184',
      'Content-Type':'application/x-www-form-urlencoded',
      'origin': 'https://www.infoconcert.com',
      'referer': 'https://www.infoconcert.com/mon-infoconcert/connexion.html'
    },
    form: {
        origin:'',
        username: account,
        password: psw
    }
};
console.log("-------------END HEADER-------------\n-----------START REQUEST-----------------------")
request(options, function (error, response, body) {
    if (!error) {
        console.log(response)
        console.log(body)
        console.log(response.headers['set-cookie'][0]); //obviously 'set-cookie' doesn't exist
    }
    else {
        console.log(error)
        console.log(response)
        console.log("-------------ERROR------------")
        return console.log("Something went wrong")
    }
});}

https://www.infoconcert.com/mon-infoconcert/connexion.html - это веб-сайт, на котором я пытаюсь получить cookie

https://tranquil -thicket-71867.herokuapp.com - это прокси-сервер CORS, который я использую.

Если кто-то из вас знает, как получить правильный заголовок, было бы здорово!

Редактировать 1:

Проблема в том, что когда я делаю свой запрос к "https://www.infoconcert.com/mon-infoconcert/connexion.html", я могу найти cookie, который я ищу, в response.headers [" set-cookie "]. Но поскольку я делаю запрос со страницы html, он не работает, и я делаю запрос на "https://tranquil -thicket-71867.herokuapp.com / https://www.infoconcert.com/mon-infoconcert/connexion.html", но я не могу найти свой cookie в ответ.

Здесь заголовок ответа, который я получил от "https://tranquil -thicket-71867.herokuapp.com / https://www.infoconcert.com/mon-infoconcert/connexion.html"

Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: server,vary,cache-control,content-type,content-encoding,p3p,date,expires,pragma,connection,x-cache-info,x-final-url,access-control-allow-origin
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html; charset=UTF-8
Date: Thu, 03 May 2018 17:23:49 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
P3p: policyref="/w3c/p3p.xml", CP="NOI DSP COR NID CUR ADM DEV OUR BUS"
Pragma: no-cache
Server: Apache
Transfer-Encoding: chunked
Vary: Accept-Encoding,User-Agent
Via: 1.1 vegur
X-Cache-Info: not cacheable; response specified "Cache-Control: private"
X-Cors-Redirect-1: 302 https://www.infoconcert.com/mon-infoconcert/index.html
X-Cors-Redirect-2: 302 https://www.infoconcert.com/mon-infoconcert/connexion.html
X-Final-Url: https://www.infoconcert.com/mon-infoconcert/connexion.html
X-Request-Url: https://www.infoconcert.com/mon-infoconcert/connexion.html

Так что я думаю, что мой прокси не передает полученный им файл cookie.

Если вам нужны подробности, просто спросите.

Большое спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...