HTTP-Basic түпнұсқалық растамасы туралы 404

Менің келесі сценарийім бар:

  1. Менде радиостанцияға арналған xml ақпараты бар ShoutCast-ish сервері бар.
  2. Менде Flash Player клиенті бар, оны алу керек.
  3. Flash Player GET қолданған кезде HTTP-Basic авторизациялау арқылы нәрселерді ала алмайды.
  4. Сонымен, түпнұсқаландыруды өңдеу және ақпаратты қайта өңдеу үшін Python CGI сценарийін жасаймын.

Үміттенемін, бұл мағынасы бар. Негізінде, менің сценарийім HTTP сұрауын жасау, деректерді алу және сұралған кезде оны беру арқылы нақты деректерге прокси ретінде қызмет етеді.

Міне, менің Python

#!/usr/bin/python
import base64, cgitb, sys, urllib2

cgitb.enable()

print "Content-Type: text/xml"
print

username = "username"
password = "password"
url = "http://s6.voscast.com:7158/admin.cgi?mode=viewxml"

auth = base64.encodestring('%s:%s' % (username, password))[:-1]
request = urllib2.Request(url)
request.add_header("Authorization", "Basic %s" % auth)

try:
    handle = urllib2.urlopen(request)
except IOError, e:
    print "Something Failed."
    sys.exit(1)

print handle.read()

Өте қарапайым, дұрыс? Өкінішке орай, бұл жұмыс істемейді. Егер браузерде веб-сайтқа кіріп, сол пайдаланушы аты мен құпия сөзді енгізсем, ол жұмыс істейді; Мен xml ағашын көре аламын.

Оның орнына stdout ішіндегі келесі шығуды аламын:

Content-Type: text/xml

ICY 404 Resource Not Found
icy-notice1:
SHOUTcast Distributed Network Audio Server/Linux v1.9.8
icy-notice2:The resource requested was not found

Мен не істеп жатырмын? Браузерде бір URL, пайдаланушы аты және құпия сөзді ескере отырып, барлығы жұмыс істейді. Мен не болдым?

1

1 жауаптар

Ол пайдаланушы-агентін немесе бас тақырыпты қабылдайтынды талап етуі мүмкін.

Firefox немесе Firebox немесе HTTMS Firebox немесе Live HTTP Headers арқылы браузерлеріңіз жіберген кейбір http тақырыптарын салыстыру/көшіріп көріңіз. Дұрыс екенін растау үшін hexed құпия сөзіңізді салыңыз. Содан кейін мәселені тапқанға дейін басқа тақырыптарды бір-бірлеп қосыңыз.

2
қосылды
Бұл дәл солай болды, мен User-Agent қосылдым және ол жұмыс істеді. Рахмет!
қосылды автор Naftuli Kay, көзі
Дұрыс, мұндай нәрсе маңызды емес ... бірақ сіз қаншалықты жиі істейтініне таң қаласың.
қосылды автор Gringo Suave, көзі