Frage

Ich versuche, https://www.googleapis.com/pagespeedonline/v1/runpageSpeed?url=zustellen funktioniert nicht.

Wenn ich darauf zugreife und my-url in die Anfrage wie folgt zugute kommt: https://www.googleapis.com/pageSpeedonline/v1/runpageSpeed?url=http://www.my-website.dk/&key= [my- Key] Es funktioniert gut, aber wenn ich urlfetch.fetch ("https://www.googleapis.com/pageSpeedonline/v1/runpageSpeed?url=%s&key=?key-ey-Key] verwende, "http: // www. My-Website.dk ") Es funktioniert nicht, ich habe auch versucht:

page_content = urlfetch.fetch(
        url="https://www.googleapis.com/pagespeedonline/v1/runPagespeed",
        payload=params,
        method=urlfetch.GET
      )

und dann die Parameter in der Nutzlast wie folgt bedienen:

params = urllib.urlencode({
        "url": page.link,
        "key": "[my-key]"
      })

Das Ergebnis ist jedoch das gleiche, es funktioniert nicht und der Dienst gibt mir den HTTP -Statuscode 400. Ich habe auch versucht, URLFetch.fetch (u ("http: // ...", Seite.link) hinzuzufügen, aber das Ergebnis ist das gleiche .

Ich habe den Code basierend auf der Antwort von systempuntoout bearbeitet, falls jemand auf dasselbe Problem stoßen sollte:

params = urllib.urlencode({
        "url": page.link,
        "key": "AIzaSyAFpm6W_OmjQl33JC98mAPkvrdGmrR0i4Y"
      })

      page_content = urlfetch.fetch("https://www.googleapis.com/pagespeedonline/v1/runPagespeed?%s" % params)
War es hilfreich?

Lösung

Zuerst die urlfetch Call hat einen Fehler, da Sie zwei Parameter an die Funktion übergeben.
Sie sollten die verwenden % zwischen den beiden Zeichenfolgen, um nur einen URL -Parameter an die Funktion zu übergeben.

urlfetch.fetch("https://www.goo..e/v1/runPagespeed?url=%s&key=[my-key]" %
                                               "http://www.my-website.dk")

Dann haben Sie versucht Urlencode die zweite URL?

import urllib
your_url = {'url': 'http://www.my-website.dk/&key=[my-key]'}
urlfetch.fetch("https://www.g../v1/runPagespeed?%s" % urllib.urlencode(your_url))

Andere Tipps

Die Nutzlast gilt nur für Post-/Put -Anfragen. Für Get müssen Ihre Parameter Teil der URL sein

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top