Handelt es sich dabei nur um die Informationen, die sich im HTTP-Header finden lassen, oder gibt es noch mehr Informationsquellen?
Ich frage danach, da ich bei einem Code immer einen 'HTTP Error 404: Not found' Fehler erhalte, obwohl ich den HTTP-Header 'geeignet' manipuliert habe.
Ich beschreibe es mal ein wenig:
ich will diese Seite mit Firefox aufrufen http://www.aist.go.jp/RIODB/SDBS/cgi-bi ... laimer.cgi klappt auch wunderbar.
Dann habe ich mal ein DNS-Lookup unter http://www.dnsreport.com/tools/dnsrepor ... aist.go.jp durchgeführt und als Ergebnis die IP-Adressen 150.29.246.137 und 150.29.246.153 erhalten.
Sind diese beiden Adressen 'gleichberechtigt', oder gibt es eine falsche und eine richtige?
Nun versuche ich das 'www.aist.go.jp' mit einem 150.29.246.137 zu ersetzen. Ich rufe also mit Firefox http://150.29.246.137/RIODB/SDBS/cgi-bi ... laimer.cgi auf. Dabei kommt es aber zu dem 'HTTP Error 404: Not found' Fehler.
Was ist hier schief gelaufen?
Mein erster Gedanke war, dass bei dem fehlgeschlagenen Versuch das Head-Feld im HTTP-Header '150.29.246.137' und nicht mehr 'www.aist.go.jp' lautet. Könnte das denn Server stören.
Um das zu überprüfen habe ich ein kleines Python-Skript geschrieben, welches http://150.29.246.137/RIODB/SDBS/cgi-bi ... laimer.cgi aufruft, ABER das Host-Feld im HTTP-Header auf 'www.aist.go.jp' setzt.
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import urllib
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('Host','www.aist.go.jp'),('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20060601 Firefox/2.0.0.3 (Ubuntu-edgy)'),('Accept','text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'),('Accept-Language','de-de,en-us;q=0.7,en;q=0.3'),('Accept-Encoding','gzip,deflate'),('Accept-Charset','ISO-8859-1,utf-8;q=0.7,*;q=0.7'), ('Keep-Alive','300'),('Connection','keep-alive')]
#response = opener.open("http://www.aist.go.jp/RIODB/SDBS/cgi-bin/cre_disclaimer.cgi")
response = opener.open("http://150.29.246.137/RIODB/SDBS/cgi-bin/cre_disclaimer.cgi")
print response.read()