Очистка страницы от защищенного URL, который, возможно, использует идентификатор сеанса - PullRequest
2 голосов
/ 09 апреля 2010

Как очистить страницу следующим образом: https://www.procom.ca/JobList.aspx?keywords=&Cities=&reference=&JobType=0

Это безопасно и выглядит так, как будто требует реферера. Я ничего не могу получить используя wget или httplib2.

Если вы перейдете на эту страницу, вы получите список, и он работает в браузере, но не в командной строке. https://www.procom.ca/jobsearch.aspx

Я заинтересован в извлечении из командной строки.

Ответы [ 2 ]

3 голосов
/ 09 апреля 2010

Как вы подозреваете, для этого нужен реферер. Это работает:

   import urllib2
   urlopen = urllib2.urlopen
   Request = urllib2.Request
   url = 'https://www.procom.ca/JobList.aspx?keywords=&Cities=&reference=&JobType=0'
   headers =  {'Referer' : 'http://www.stackoverflow.com'}
   req = Request(url, None, headers)
   handle = urlopen(req)
   print handle.read()
0 голосов
/ 09 апреля 2010

Какие данные вы отправляете в POST или Get, я бы порекомендовал просмотреть сообщения POST / GET в Firebug Net Panel, на этой странице есть много скрытых значений, которые, как мне кажется, зависят от времени и меняются при каждой загрузке страницы и могут быть действительным один раз, поэтому загрузите страницу, получите эти значения и отправьте их с сообщениями POST, например: увидеть эти

<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTEwODIzNjMxMzEPFgIeEUdyaWRTb3J0RGlyZWN0aW9uCyo..." />
...