2016-09-04 2 views
0

В JQuery/AJAX вы можете сделать POST-запросы и получить их реакцию с чем-то вродеПолучить данные ответа POST с Curl

$.post(url, data, function(res){ 
    //do something 
}); 

Где Рез содержит ответ сервера. Я пытаюсь воспроизвести это cURL в bash.

curl -d "data=data" --cookie cookies.txt --header "Content-Type:text/html" https://example.com/path > result.html 

Возвращает бред (какое-то Js объект может быть?), Но я ожидаю HTML. Есть ли способ получить данные, которые будут в res, используя cURL?

Заранее спасибо.

+0

Извините, я перепутал порядок URL-адреса и заголовка. Они были в правильном порядке в скрипте, который я использую (я успешно получил запросы). Я отредактировал вопрос, чтобы исправить это. – SoZettaSho

+0

Насколько искажен тарабарщина? Если это реальный беспорядок, который может быть сжатым, попробуйте передать '' сжатый' 'завиток. – Eric

+0

Результат после передачи '- сжатый ', с несколькими замененными символами: <íýGŽ $ IÒ¼ÿï; (<¹sM²KhØ & r'« ŒÑL3ÀÌÔÓK == ýö ‰ '@ "k.' = AI-ÙPdiÒÌæþæ^ä" ¹¹, ÒlKy ' ¼~ «#Z <» ° ƒ {¥ ÷ '| «§¡éÇYÌ9|AüZ¸ * ì²Bã •» г € ч;?»× Ux \ ªÏzÝ¡ÊV, ÄÆo§) ª.ýqÛ¶Ù'ç ¥ æTy¬³ -, '~ U \; 7 | Lmi · # 0 ™ ÿ'\t ù = "ÝŽ-ßåìÃO; – SoZettaSho

ответ

1

Иногда серверы отправляют обратно сжатый контент. Это похоже на случайный мусор. Используйте curl --compressed, чтобы получить результат с распаковкой.

0

Кажется, что вы пытаетесь получить данные из запроса POST. Сервер возвращает вам объект javascript. И вы получаете его правильно, javascript преобразует возвращенные данные в HTML, а не cURL. Так что в принципе вы не можете этого сделать.

Смежные вопросы