2016-04-14 2 views
0

[enter image description here]Как я могу получить тело, которое содержит JSON

Я попробовал метод Post, но я до сих пор не могу получить JSON страницы 3200. что я кодированный, как это:

url = u'http://218.57.139.24/pub/jyyc/3200' 
my_data ={u"encrpripid":u"b05bbaf0a62b2e049e005b9467ccbcc6f1d57daf702342a8457db88ba15021f7"} 
yield scrapy.FormRequest(url, method ='POST', formdata = my_data , callback=self.parse) 

он всегда говорит Redirecting (meta refresh)

+0

Вы пробовали URL с завершающим косой чертой/в конце? Я подозреваю, что ваш сервер может перенаправить запрос на «http://218.57.139.24/pub/jyyc/3200/», и именно поэтому вы получаете перенаправление. вы также можете проверить это, перейдя по URL-адресу в браузере и посмотрите, появляется ли/в конце. –

ответ

0

Этот вопрос кажется не имеет отношения к JSON. encrpripid может быть предоставлен вам с предыдущего запроса, не так ли? Это похоже на nonce. Попробуйте запросить предыдущую страницу, чтобы получить действительный (последний) encrpripid. FormRequest.from_response метод может помочь вам.

+0

спасибо. Но encrpripid является частью URL главной страницы, и я уверен, что получил правильный encrpripid. Метод FormRequest.from_response, похоже, моделирует вход пользователя в мою структуру (http://218.57.139.24/pub/ gsgsdetail/1100/2e80338bcd261f9f3ec1f75fa41a74bc86e5521766a1b1190a4b047efeeebf02), нет необходимости регистрироваться на странице. –

+0

Итак, вы абсолютно уверены, что этот 'encrpripid' всегда один и тот же, не так ли? Попробуйте открыть окно и окно инкогнито и повторите шаги, которые вы обычно делаете, чтобы подтвердить, что 'encrpripid' - то же самое. Я не могу открыть этот сайт, о котором вы говорите, и не воспроизводить полный процесс, но не важно, что вы не заходите в систему, многие веб-сайты предоставляют вам [nonce] (http://searchsecurity.techtarget.com/definition/nonce) ' чтобы убедиться, что вы не злоупотребляете специально любыми запросами без GET или эмулируете уникальные сеансы. – neverlastn

+0

Теперь я знаю проблему, я должен получить целевую страницу, используя сеанс. До этого я также должен получить файл cookie и X -crsf-token.at, очень благодарен. –