Книжник

Книжник
Рейтинг
103
Регистрация
05.05.2006
Интересы
Сайтостроительство, спорт, политика
Xakez:
собственно тут и ответ. новый сайт. ссылок нет. откуда бы взяться тицу.
На счет PR - ну хз. покажите сайт - может вы как то не так смотрите;) скорее всего у вас и пр=0

Но есть же ссылка со страницы форума. У этой страницы ТИЦ=1600. (смотрю в тулбаре от seo-sem для firefox). Почему-то ни грамма веса не передалось на страничку.

В этом же тулбаре показывает PR=2. Да я и в другом тулбаре смотрел (от Гугл под IE). Тоже два дает. Так что вряд ли ошибка.

богоносец:
Вам ссылка http://www.google.com/search?q= к ней добавляйте ваши проценты, получите Альфа-Банк_files

Браузер взял тайтл сохраняемой страницы... завёл папку с таким названием...

Спасибо, теперь понятно - откуда браузер взял название папки на русском языке:)

SeVlad:
Браузер показывает то, что написал вебмастер. Но стоит тебе кликнуть по кириллической ссылке, как он перекодирует в юникод ("проценты") и отправит серверу.

Да, сорри, я поправлюсь
..или клиент (браузер).



Корабли лавировала-лавировали, да не вылавировали ;)

Кстати, я не задумывался - в какой момент происходит перекодировка. Теперь яснее стало, что в тот момент, когда человек кликает по ссылке и, тем самым, посылает запрос серверу на другую страницу.

Не отвлекайтесь на корабли. В моем примере ссылки не на кириллице, а на латинице:)

rommer:
Подозреваю, что гугль может выдавать 1251 кодировку, исходя из системы, которая сделала запрос.
Возможно, 1251 для него по умолчанию для кириллических стран или систем.
Кто его знает, что у него на уме. :)


Вы не в той документации роетесь. ie, это всего лишь переменная серверной стороны гугля, которую придумал один из ополоумевших программеров.
Если и рыть, то доки по гуглезапросам у гугля.

Спасибо, понял о чем речь:)

---------- Добавлено 24.12.2011 в 00:04 ---------- Предыдущее сообщение было 23.12.2011 в 23:54 ----------

Походу придется лезть в google API, если я хочу писать скрипт для работы с этой машиной

SeVlad:
Да ёлки-палки.. Прочитай же ссылку в педивикии.

"процентами" - передаётся по http-протоколу. Сервер уже так отдаёт. А то, что браузер в адресной строке раскодирует - так это только "заслуга" браузера (как по мне - медвежья услуга. Использование нелатиницы в именах файлов\урлах\етс - есть зло. А браузеры это зло покрывают и обманывают юзеров).

Ты обожди, я ссылку прочел и, может что-то недопонял. Вот ты пишешь, что уже по протоколу http ссылка передается процентами. Вот я когда в браузере адрес набираю, открываю страницу и просматриваю код (команда просмотра исходного кода), то файл, как я понял уже передался по протоколу ко мне в браузер и ссылки там не проценты. Ссылки, кстати вовсе не кириллицей, а латиницей набраны, например:

href="/f/1/frontpage.css"

А потом, когда я страницу сохраняю на винчестер, то вспомогательные файлы браузер сохраняет в папку, названную кириллицей. Вот тогда то он и дописывает в ссылки процентные добавки.

rommer:
я много о чем говорил.
В частности про выделенное тоже.
Наверное грабли как раз в этом.
В общем, если облом, добавьте в запрос "ie=utf-8" да и вопрос решон.

А что это за грабли, выделенные красным цветом, это надо Апач мой по-другому настраивать?

(я так понял, что он это в запросе передает и гугл, видя win32, отвечает в cp1251)

Кстати, что значит ie? где бы это почитать, я роюсь в документации по php, но вот этой добавки к запросу пока не встретил

siv1987:
Для смены кодировки гугла к адресу запроса надо добавить параметр &oe=windows-1251

curl_setopt($ch, CURLOPT_URL, "http://www.google.ru/?oe=windows-1251");

заработало:) указал не windows-1251, а utf-8. только интересно, что картинка гугл (название сервиса разноцветными буквами) не отображается.

Если я правильно понял, то ваш метод - это указать кодировку при запросе?

rommer:
Ну, как сбросить..... просто 😂
Заменить google на локалхост наверное.

О, это идея😂 А я ломал голову- как скопировать запрос гуглу, который посылается функцией curl.

вот заголовок моего локалхоста (То есть заменил гугл на локалхост и привел здесь ответ хоста.):

HTTP/1.1 200 OK

Date: Fri, 23 Dec 2011 20:51:15 GMT

Server: Apache/2.0.64 (Win32)

X-Powered-By: PHP/5.3.8

Transfer-Encoding: chunked

Content-Type: text/html; charset=UTF-8

кодировка uft-8, но вы, кажется что-то упомянали про win32.

'[umka:
;9827085']Если в конфиге виртуального хоста, на котором работает скрипт, кодировка по-умолчанию utf-8, то этот скрипт каждый раз сообщает вашему браузеру, что информация выдаётся в utf-8.
Из гугла скрипт получает инфу в cp1251, а браузеру он говорит, что инфа в utf-8.
Браузер показывает вам инфу в кодировке utf-8, хотя на самом деле она в cp1251.

Вам нужно либо:
1. Изменить кодировку виртуального хоста
2. Запрашивать у гугла инфу в нужной вам кодировке
3. Перекодировать инфу из кодировки, полученной в ответном заголовке гугла, в кодировку виртуального хоста.

Первый и третий варианты мне не очень, а вот второй нравится.

А как это сделать?

Кстати в браузер гугл передает страницы в utf-8 (при ручном запросе из браузера), на хосте у меня uft-8, скрипт на страничке с uft-8. А когда смотрю заголовок, отправляемый гуглом при запросе скрипта, то в заголовке стоит cp1251. Нафига гугл так делает?

P.s: кстати Яша выдает заголовок в utf-8 и все нормально отображается.

'[umka:
;9827062']Помимо контента (кода страницы) есть ещё и http-заголовки.
Curl-ом вы получаете только тело страницы.
Если у вас скрипт работает в кодировке utf-8, и при этом отдаёт код страницы в кодировке cp1251, то в браузере получается абракадабра.

Скрипт у меня находится на страничке с кодировкой utf-8. А значит браузеру он отдает в кодировке cp1251. А как он решил, что отдавать надо в ней? а гугл ему в какой кодировке присылает, как узнать?

---------- Добавлено в 21:51 ---------- Предыдущее сообщение было в 21:49 ----------

rommer:
сбросьте в файл запрос, и посмотрети нет ли там указания чарсета.
И еще проверьте заодно строку запроса, там тоже может быть указан чарсет.
Далее, в user_agent может быть отправляется *win32*, вот он и выдает тот чарсет, что подходит больше всего.

Буду признателен, если вы намекнете - как сбросить запрос в файл. То есть, вы подозреваете, что при запросе указывается кодировка для ответа и гугл в ней и выдает.

Всего: 217