2012-02-29 5 views
0

В моем веб-приложение, которое я делаю CURL вызов от Google (неофициальный) погода API по адресу:«301 Moved», API Google, с Opera

http://www.google.com/ig/api?weather=,,, ... 

Это прекрасно работает во всех случаях кроме случаев, когда страница доступ к нему осуществляется в Opera. При доступе в Opera вместо погоды я получаю следующее в ответе xml:

301 Moved</H1> 
The document has moved 
<A HREF="http://www.google.com/m/ig">here</A>. 

Как это исправить? Я видел некоторые предложения в Интернете, что очистка кеша - это решение, но это не сработало для меня. Примечание. Я особенно обеспокоен Opera Mini.

Большое спасибо.

ответ

0

Обновление 2012-06-20: Протестировано с помощью Opera 12, и Google исправил проблему нюхания.

Я не думаю, что вы можете это исправить. Было бы интересно узнать, почему Google делает на стороне сервера пользовательский интерфейс и перенаправляет Opera на другой URI. Не могли бы вы вставить URI с полной погодой, чтобы мы могли сами проверить его в Opera? Если сделать GET из одного вы дали в опере я

<xml_api_reply version="1"> 
<weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0"> 
<problem_cause data=""/> 
</weather> 
</xml_api_reply> 

Я также не получить переназначение, но я предполагаю, что это происходит потому, что URI не один вы использовали.

% curl -sI "http://www.google.com/ig/api?weather=,,," 
HTTP/1.1 200 OK 
Content-Type: text/xml; charset=ISO-8859-1 
Date: Fri, 02 Mar 2012 12:04:44 GMT 
Pragma: no-cache 
Expires: Fri, 01 Jan 1990 00:00:00 GMT 
Cache-Control: no-cache, no-store, must-revalidate 
Set-Cookie: PREF=ID=fe13590e95ceb98e:TM=1330689884:LM=1330689884:S=h1eocRzhNcZ_Kwoa; expires=Sun, 02-Mar-2014 12:04:44 GMT; path=/; domain=.google.com 
X-Content-Type-Options: nosniff 
Server: igfe 
X-XSS-Protection: 1; mode=block 
Transfer-Encoding: chunked 

Более подробная информация поможет, и я закончу здесь.

Обновление 2012-03-12 Сначала я пробовал с простым завитком.

→ curl -sI "http://www.google.com/ig/api?weather=,,,40735500,-73986500" 

HTTP/1.1 200 OK 
Content-Type: text/xml; charset=ISO-8859-1 
Date: Mon, 12 Mar 2012 13:16:43 GMT 
Pragma: no-cache 
Expires: Fri, 01 Jan 1990 00:00:00 GMT 
Cache-Control: no-cache, no-store, must-revalidate 
Set-Cookie: PREF=ID=9bc71bbf2edb7ebb:TM=1331558203:LM=1331558203:S=K5Ew69E5IsYhA0s8; expires=Wed, 12-Mar-2014 13:16:43 GMT; path=/; domain=.google.com 
X-Content-Type-Options: nosniff 
Server: igfe 
X-XSS-Protection: 1; mode=block 
Transfer-Encoding: chunked 

Затем с оператором Opera.

→ curl -sI -A "Opera/9.80 (Macintosh; Intel Mac OS X 10.7.3; U; fr) Presto/2.10.229 Version/11.61" "http://www.google.com/ig/api?weather=,,,40735500,-73986500" 

HTTP/1.1 200 OK 
Content-Type: text/xml; charset=UTF-8 
Date: Mon, 12 Mar 2012 13:17:47 GMT 
Pragma: no-cache 
Expires: Fri, 01 Jan 1990 00:00:00 GMT 
Cache-Control: no-cache, no-store, must-revalidate 
Set-Cookie: PREF=ID=54cc62619394059e:TM=1331558267:LM=1331558267:S=JRCO-WNJMUNMMHsO; expires=Wed, 12-Mar-2014 13:17:47 GMT; path=/; domain=.google.com 
X-Content-Type-Options: nosniff 
Server: igfe 
X-XSS-Protection: 1; mode=block 
Transfer-Encoding: chunked 

И, наконец, с агентом Firefox Пользователь

→ curl -sI -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0) Gecko/20100101 Firefox/9.0" "http://www.google.com/ig/api?weather=,,,40735500,-73986500" 

HTTP/1.1 200 OK 
Content-Type: text/xml; charset=UTF-8 
Date: Mon, 12 Mar 2012 13:20:09 GMT 
Pragma: no-cache 
Expires: Fri, 01 Jan 1990 00:00:00 GMT 
Cache-Control: no-cache, no-store, must-revalidate 
Set-Cookie: PREF=ID=ab709995945767a8:TM=1331558409:LM=1331558409:S=bom-8pa-x9gGY5Sb; expires=Wed, 12-Mar-2014 13:20:09 GMT; path=/; domain=.google.com 
X-Content-Type-Options: nosniff 
Server: igfe 
X-XSS-Protection: 1; mode=block 
Transfer-Encoding: chunked 

Там не во всех случаях и не перенаправлении Нет X-Content-Type-Options: nosniff. Какой пользовательский агент вы используете. Вы можете ввести около: opera в адресной строке, и появится строка пользовательского агента.

+0

Вот полный URL-адрес для примера: http://www.google.com/ig/api?weather=,,,40735500,-73986500 –

+0

@ G.Moore, можете ли вы принять ответ? :), так что он вышел из нашего радара в Opera. Благодаря! :) – karlcow