
10.01.2018, 17:38
|
|
Профессор
|
|
Регистрация: 25.09.2016
Сообщений: 163
|
|
|
Вывод большого текста.
Делаю Get запрос, приходит страница в тексте.
Ищу в ней строку через indexOf - не находит.
Хотя строка там есть.
Хочу проверить, а alert не полностью выводит текст.
Можно как-то по другому?
console.log(html)
Что-то не работает...
|
|

10.01.2018, 17:42
|
|
Профессор
|
|
Регистрация: 25.09.2016
Сообщений: 163
|
|
|
Ой, тупанул, там консоль приложения нужно было смотреть...
В русском тексте дело, вернее кодировке...
|
|

10.01.2018, 17:50
|
|
Профессор
|
|
Регистрация: 25.09.2016
Сообщений: 163
|
|
|
Мда, бред, бред, бред...
Не находит и всё...
Раньше всё работало, а теперь нет.
Можно как-то кодами вывести, или записать?
|
|

10.01.2018, 18:52
|
 |
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,618
|
|
|
Удалённая кодировка и кодировка страницы должна совпадать, либо должна быть указана в хедере при запросе.
__________________
29375, 35
|
|

10.01.2018, 23:21
|
|
Профессор
|
|
Регистрация: 25.09.2016
Сообщений: 163
|
|
|
А как можно посмотреть, что мой браузер отправляет, при заходе на страницу?
Оно просто сразу же удаляется...
|
|

10.01.2018, 23:34
|
|
Профессор
|
|
Регистрация: 25.09.2016
Сообщений: 163
|
|
Всё дело в том, что раньше всё работало, а теперь перестало...
Ну вот, в оригинале нет ничего про кодировку:
|
Цитата:
|
General:
Request URL: http://домен/страница.php
Request Method: GET
Status Code: 200 OK
Remote Address: айпи:порт
Referrer Policy: no-referrer-when-downgrade
Response Headers:
HTTP/1.1 200 OK
Server: QRATOR
Date: Wed, 10 Jan 2018 20:25:25 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=15
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding
Request Headers:
GET /roulette.php HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Cookie: _ym_uid=187995685451; ...Ну и там дальше...
Host: Домен
Referer: http://домен/страница.php
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
|
|
|

10.01.2018, 23:40
|
|
Профессор
|
|
Регистрация: 25.09.2016
Сообщений: 163
|
|
function GetHttpRequest(href) // Get запрос на url
{
var xhr = new XMLHttpRequest()
xhr.withCredentials = true
xhr.onreadystatechange = function()
{
var xhr = this
if(xhr.readyState != 4 || xhr.status != 200) return
var html = xhr.responseText
alert(html)
console.log(html)
}
xhr.open('GET', href, true)
xhr.send(null)
}
GetHttpRequest('https://javascript.ru/forum/misc/72129-vyvod-bolshogo-teksta.html')
|
|

11.01.2018, 01:10
|
|
Профессор
|
|
Регистрация: 25.09.2016
Сообщений: 163
|
|
|
Кодировку у скрипта поменял - заработало.
Но текст по прежнему кракозябрами отображается...
И только на том сайте...
|
|

12.01.2018, 01:16
|
|
Профессор
|
|
Регистрация: 25.09.2016
Сообщений: 163
|
|
Блин, вообще не удобно работать на 2х кодировках...
Мне из скрипта, что в ANSI нужно вернуть строку в UTF.
Поменял кодировку обратно на UTF, стал писать русский текст так:
\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
Тоже не удобно, если нужно что-то изменить, надо лезть на сайт, кодировать, копировать, вставлять, подписывать, чтобы было понятно...
Может есть какая-нибудь функция, которая весь текст перекодирует в UTF?
Типа:
UrlEncodeData
|
|

12.01.2018, 02:34
|
 |
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,618
|
|
xhr.overrideMimeType('text/html; charset=windows-1251');
А вообще все файлы должны быть в одной кодировке. Всё остальное ересь и жопа может произойти в любой момент, даже если удалось заставить что-то работать.
__________________
29375, 35
|
|
|
|