diff --git a/gddo-server/main.go b/gddo-server/main.go
index 4f69574..17b6205 100644
--- a/gddo-server/main.go
+++ b/gddo-server/main.go
@@ -390,7 +390,7 @@
 			"hide":          hide,
 		})
 	case isView(req, "play"):
-		u, err := playURL(pdoc, req.Form.Get("play"))
+		u, err := playURL(pdoc, req.Form.Get("play"), r.Header.Get("X-AppEngine-Country"))
 		if err != nil {
 			return err
 		}
diff --git a/gddo-server/play.go b/gddo-server/play.go
index a957ae1..90268a2 100644
--- a/gddo-server/play.go
+++ b/gddo-server/play.go
@@ -57,10 +57,18 @@
 
 var exampleIDPat = regexp.MustCompile(`([^-]+)(?:-([^-]*)(?:-(.*))?)?`)
 
-func playURL(pdoc *doc.Package, id string) (string, error) {
+func playURL(pdoc *doc.Package, id, countryHeader string) (string, error) {
 	if m := exampleIDPat.FindStringSubmatch(id); m != nil {
 		if e := findExample(pdoc, m[1], m[2], m[3]); e != nil && e.Play != "" {
-			resp, err := httpClient.Post("http://play.golang.org/share", "text/plain", strings.NewReader(e.Play))
+			req, err := http.NewRequest("POST", "https://play.golang.org/share", "text/plain", strings.NewReader(e.Play))
+			if err != nil {
+				return "", err
+			}
+			if countryHeader != "" {
+				// Forward the App Engine country header.
+				req.Header.Set("X-AppEngine-Country", countryHeader)
+			}
+			resp, err := httpClient.Do(req)
 			if err != nil {
 				return "", err
 			}
@@ -69,6 +77,12 @@
 			if err != nil {
 				return "", err
 			}
+			if resp.StatusCode > 399 {
+				return "", &httpError{
+					status: resp.StatusCode,
+					err:    fmt.Errorf("Error from play.golang.org: %s", p),
+				}
+			}
 			return fmt.Sprintf("http://play.golang.org/p/%s", p), nil
 		}
 	}
