Отправка URL-адреса в GET-запросе на сервер Python в Google App Engine
Я написал очень простой сервер на Python на движке Google Apps. Я хочу иметь возможность отправить ему команду через GET-запрос, такой как "http://myserver.appspot.com/?do=http://webpage.com/?secondary=parameter"
Это не работает, так как дополнительный параметр интерпретируется отдельно и также отправляется в мое приложение. Любая помощь?
1 ответ
Решение
URL http://myserver.appspot.com/?do=http://webpage.com/?secondary=parameter
неправильно сформирован. Возможно, вы можете urlencode
строковые данные, а затем отправить его
from urllib import urlencode
data = {"do": "http://webpage.com/?secondary=parameter"}
encoded_data = urlencode(data)
url = "http://myserver.appspot.com/?" + encoded_data
Дает вывод
>>> print url
http://myserver.appspot.com/?do=http%3A%2F%2Fwebpage.com%2F%3Fsecondary%3Dparameter
В качестве альтернативы, если вы используете Python requests
модуль, вы можете сделать
import requests
payload = {"do": "http://webpage.com/?secondary=parameter"}
r = requests.get("http://myserver.appspot.com/", params=payload)
который дает вывод
>>> print r.url
u'http://myserver.appspot.com/?do=http%3A%2F%2Fwebpage.com%2F%3Fsecondary%3Dparameter'