Moi!
Mulla on Python skripti, joka päivittää dy.fi-osoitteen ja kirjaa päivitysajankohdan tiedostoon.
import urllib.request import base64 from time import time encodedstring = base64.b64encode(b"x:x")[:-1] auth = "Basic " + str(encodedstring) tiedosto = open("paivityshistoria.txt", "r+") s = urllib.request.Request("http://www.dy.fi/nic/update?hostname=x.dy.fi", None, {"Authorization": auth }) tiedosto.write("\n" + str(int(time()))) tiedosto.close()
Tämä toimii, mutta miten saisin Windowsin suorittamaan tätä 24 tunnin välein? (Kyseessä olisi Windows Server 2008 R2, mutta jos tiedätte jollekkin muulle Windowsille sopivan tavan, voin ottaa sen vastaan ja miettiä miten saisin sen toimimaan Windows Server 2008:lla.)
Onhan tietenkin esimerkiksi tälläinen (http://www.karenware.com/powertools/ptoad.asp) ohjelma, mutta mieluiten jättäisin sen asentamatta ja käyttäisin Windowsin omia palikoita.
Ohjauspaneelista löytyy tehtävien ajoitus, jolla tuon hoitaa kätevästi ilman lisäpalikoita.
Kiitos tiedosta. En ollut huomannutkaan tuollaista kohtaa ennen. Tosin se ei löytynyt mainitsemastasi paikasta, mutta löysimpä kumminkin.
Muokkaus. Koodi toimii (muokkaus. ainakin niin luulin: ohjelma suoritetaan, mutta dy.fi palveluun ei tule muutosta. (tarkistin ajan perusteella, koska kun se päivitetään, pitäisi ajan tulla täyteen seitsemään viikkoon)), ja Windows ilmoitti, että tehtävä on suoritettu. Kuitenkaan dy.fi-tunnus ei päivittynyt. Mitä pitäisi tehdä? Ohjelman polkun on oikea, käyttäjällä on lupa suorittaa se, koneessa on Python tulkki.
Oletko varma, että skriptisi toimii oikein? Tarkista dy.fi:n lähettämä vastaus, siitä pitäisi nähdä, mikä on pielessä.
Miten luetaan urllib.request.Request():n palauttama vastaus? read() ei toiminut, tai mikään get_data().
Vilkaisin nyt dokumentaatiota, ja siitä näin suoraan, että skriptisi ei oikeasti edes tee mitään. Ehkä sinunkin kannattaisi lukea uudestaan.
s = urllib.request.Request(...) f = urllib.request.urlopen(s) print(f.read())
Aihe on jo aika vanha, joten et voi enää vastata siihen.