HTTP-запрос и ответ

Мне нужно сделать запрос на pipl.com ( http://apis.pipl.com//search/v2/json/?email=maryuca_alias%40yahoo.com&person_mode=all&exact_name=0&no_sponsored=0&key=myKey), чтобы получить информация о человеке. Ответом на этот запрос является json-объект. Я не могу сделать это с помощью вызова ajax/jquery/jsonp, потому что их сервер не поддерживает такие типы вызовов. Есть ли способ обработать ответ на стороне сервера (я использую Struts 1) или на стороне клиента?

Если у вас есть решение, пожалуйста, ответьте на этот вопрос.

<html>
<head>
</head>
<body>
<script type="text/javascript">
function getJSONP(url, success) {
var ud = '_' + +new Date,
script = document.createElement('script'),
head = document.getElementsByTagName('head')[0] 
|| document.documentElement;
window[ud] = function(data) {
head.removeChild(script);
alert(data);
success && success(data);
};
script.src = url.replace('callback=?', 'callback=' + ud);
head.appendChild(script);
}
getJSONP('http://apis.pipl.com//search/v2/json/?email=maryuca_alias
%40yahoo.com&person_mode=all&exact_name=0&no_sponsored=0
&key=key&callback=?', function(data){
console.log(data);
});     
</script>
</body>
</html>

person Martinas Maria    schedule 22.05.2012    source источник


Ответы (2)


Используйте что-то вроде HttpClient, чтобы сделать запрос из Java, возможно, в службе, вызываемой класс действий. Этот ответ может быть обработан либо Java, либо JavaScript, в зависимости от ваших потребностей.

person Dave Newton    schedule 22.05.2012
comment
Я попробую это. Кажется, это самое подходящее. Спасибо. - person Martinas Maria; 22.05.2012

Хорошо, похоже, вы делаете действительный межсайтовый запрос, но получаете заголовок, отличный от ожидаемого, или данные не в формате JSON?

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

person specone    schedule 22.05.2012
comment
Это недопустимый межсайтовый запрос. При классическом вызове ajax я получаю сообщение об ошибке, которое не разрешено. Поэтому я пытался использовать вызов jsonp, но pipl.com не поддерживает этот формат. - person Martinas Maria; 22.05.2012
comment
0 голосов против да, я читал их документацию - очень плохо. что я могу вам порекомендовать, так это попробовать использовать jsonp/ajax из jquery. или немного более сложная вещь, но будет работать на 100% - вызовите скрипт ajax на нашем сервере, который просто получит содержимое страницы с помощью cURL или любой другой библиотеки HTTP-запросов. - person specone; 23.05.2012