Я использовал эти две функции в своих проектах,
он хранит данные в папке AppData по умолчанию операционной системы:
const {
app
} = remote
const fs = require('fs')
function get_option(file, callback) {
fs.readFile(
app.getPath('userData') + '\\user_data' + '\\' + file, 'utf8',
function (err, data) {
callback(err, data)
}
)
}
function set_option(file, data) {
if (data) {
fs.writeFileSync(
app.getPath('userData') + '\\user_data' + '\\' + file, data
)
} else {
fs.unlink(
app.getPath('userData') + '\\user_data' + '\\' + file,
function (err) {}
)
}
}
Тогда вы можете сделать что-то вроде: [114 ]
set_option(
'data.json',
JSON.stringify(jsonObject)
)
get_option('data.json', function (err, data) {
if (!err && data) {
let jsonObject = JSON.parse(data)
// Do something ..
}
})
+1 к комментарию inkel выше.
Хотя, если Вы не заботитесь о спецификации и просто хотите сделать это так или иначе, можно избегать использования Ответа. Перенаправление и вместо этого создает заголовки ответа самостоятельно.
Response.StatusCode = 302; //temp redirect
Response.Headers.Add("Location", "your/url/here");
Response.Headers.Add("Referer", "something.com");
Response.End();
Это первое, что пришло на ум, Вы, возможно, должны были бы иметь несколько других вещей в заголовке ответа.
Заголовок ссылающегося домена, который получает Ваш второй сервер, сгенерирован браузером, и будет маловероятно, что можно изменить его любым разумным способом.
Вы пытались добавить Ссылающийся домен к URL и затем считать это на Вашем втором сервере вместо этого?
Response.Redirect("url?Referer=" + Server.UrlEncode(Request.UrlReferrer));
Существует доступный взлом HTML.
<form action="http://url.goes.here" id="test" method="GET"></form>
<script type="text/javascript">
document.getElementById("test").submit();
</script>
Если необходимо инициировать это из кода позади, который может быть сделан также:
Response.Write( @"<form action='http://url.goes.here' id='test' method='GET'></form>
<script type='text/javascript'>
document.getElementById('test').submit();
</script> ");
Как Inkel мог бы указать, это - свободная интерпретация Referer [так] спецификация. Это сделает то, что Вы хотите все же.
Установите подлинный cookie (с хэшированием по ключу и 5-минутным истечением), отправьте ответ перенаправления, браузер отправляет новый запрос к второму серверу (если это - тот же домен) наряду с подлинным cookie, второй сервер проверяет cookie, гарантирует, что только первый сервер, возможно, установил его и передает содержание обратно браузеру.
Если бы перенаправление к тому же процессу, я использовал бы значение Сессии для хранения ссылающегося домена URI, чтобы позволить вторичной странице брать его. Я использую это в своей системе для поддержания ссылающегося домена между перенаправлением http соединений с нашей https системой.
Сервер. Передать опцию?
Существуют некоторые протесты, хотя это необходимо будет изучить. НАПРИМЕР, Сохраняет исходный URL, Авторизацию, и т.д... Больше деталей в ссылке.
Хранение исходного URL может быть выгодным при этом обстоятельстве.
Я не думаю, что это возможно. То, что Вы передаете обратно клиенту, является заголовком Местоположения, который говорит клиенту загружать страницу, упомянутую вместо страницы, которую она первоначально запросила. В этом случае клиент не происходит из ссылки и таким образом не устанавливает заголовок ссылающегося домена. Это в основном, как будто пользователь ввел URL перенаправления в адресной панели в его браузере.
Вы можете сохранять ссылающийся домен на сессии или кодировать его в URL как параметр запроса. Как Формы вход в систему делает с ReturnUrl.
Это будет против Referer (так) определение заголовка:
Referer [так] поле заголовка запроса позволяет клиенту указывать, для преимущества сервера, адрес (URI) ресурса, из которого был получен URI запроса ("ссылающийся домен", хотя поле заголовка пишется c орфографическими ошибками.)
Если Вы перенаправляете, это - ясно не случай для добавления этого заголовка.
Если Вам нужна эта информационная попытка с cookie или некоторой переменной сеанса или еще лучше переменной в URL, поскольку Вам уже сказали.