Важной частью является окончательная связь HTTP между вашим браузером и службой ведения журнала, которую вы используете, сообщение формы будет переводиться в конец. Чтобы увидеть какую-либо разницу, вы можете использовать любой браузер (Google-> View-> Developer-> Developer Tools) и увидеть событие Network при отправке формы. Вы заметите некоторые различия между POST, сделанным из файла, и POST, сделанным из файла, обслуживаемого локальным или облачным сервером (например, Google SDK или Google App Engine), я сделал быстрый тест, и основное различие:
при проводке из файла:
происхождения: нулевой
И при проводке из HTML с сервера:
Origin:http://localhost:26124
Referer:http://localhost:26124/testform/
с серверной стороны точки зрения, вы можете настроить макет POST слушателя (я сделал это SDK), это код:
class TestFormHandler(BaseHandler):
def get(self):
form = """
<form method="post" action="">
<input name="username" value="valueusernamme" type="hidden">
<input name="password" value="valuepassword" type="hidden">
<input type="submit" value="submit">
</form>
"""
self.response.out.write(form)
def post(self):
logging.info(self.request.body)
logging.info(self.request.headers)
logging.info(self.request.params)
logging.info(self.request.cookies)
И затем использовать файл с формой (убедитесь, что форма действия является адрес локального или облачного локального хоста службы и порта, если его из собственной машины), или получить доступ к службе, которую установки (ГЭТ Обработчик, который возвращает предыдущую форму).
После печати тела, заголовки, Params и печенье этой формы:
С POST файла:
username=valueusernamme&password=valuepassword
{'X-Appengine-Country': 'ZZ', 'Content-Type': 'application/x-www-form-urlencoded', 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'es-419,es;q=0.8,en;q=0.6', 'Content_Length': '46', 'Content-Length': '46', 'Content_Type': 'application/x-www-form-urlencoded', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.69 Safari/537.36', 'Host': 'localhost:26124', 'Origin': 'null', 'Pragma': 'no-cache', 'Cookie': 'dev_appserver_login="[email protected]:True:185804764220139124118"; PHPSESSID=f87c32d417539f8d2903ac76dc5fef1f; language_id=1; __atuvc=0%7C43%2C1%7C44%2C8%7C45%2C0%7C46%2C54%7C47; session=eyJfY3NyZl90b2tlbiI6IjVzcVhEayJ9|1418620181|f01cc7c352763ebe30a0c1d2a34f063112641bbd; _ga=GA1.1.629360734.1406657652; hl=es_ES', 'Cache-Control': 'no-cache'}
UnicodeMultiDict([(u'username', u'valueusernamme'), (u'password', '******')])
UnicodeMultiDict([(u'__atuvc', u'0%7C43%2C1%7C44%2C8%7C45%2C0%7C46%2C54%7C47'), (u'PHPSESSID', u'f87c32d417539f8d2903ac76dc5fef1f'), (u'dev_appserver_login', u'[email protected]:True:185804764220139124118'), (u'session', u'eyJfY3NyZl90b2tlbiI6IjVzcVhEayJ9|1418620181|f01cc7c352763ebe30a0c1d2a34f063112641bbd'), (u'_ga', u'GA1.1.629360734.1406657652'), (u'language_id', u'1'), (u'hl', u'es_ES')])
С файл служил с сервера:
username=valueusernamme&password=valuepassword
{'X-Appengine-Country': 'ZZ', 'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'es-419,es;q=0.8,en;q=0.6', 'Content_Length': '46', 'Content-Length': '46', 'Referer': 'http://localhost:26124/testform/', 'Content_Type': 'application/x-www-form-urlencoded', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.69 Safari/537.36', 'Host': 'localhost:26124', 'Origin': 'http://localhost:26124', 'Pragma': 'no-cache', 'Cookie': 'dev_appserver_login="[email protected]:True:185804764220139124118"; PHPSESSID=f87c32d417539f8d2903ac76dc5fef1f; language_id=1; __atuvc=0%7C43%2C1%7C44%2C8%7C45%2C0%7C46%2C54%7C47; session=eyJfY3NyZl90b2tlbiI6IjVzcVhEayJ9|1418620181|f01cc7c352763ebe30a0c1d2a34f063112641bbd; _ga=GA1.1.629360734.1406657652; hl=es_ES', 'Cache-Control': 'no-cache'}
UnicodeMultiDict([(u'username', u'valueusernamme'), (u'password', '******')])
UnicodeMultiDict([(u'__atuvc', u'0%7C43%2C1%7C44%2C8%7C45%2C0%7C46%2C54%7C47'), (u'PHPSESSID', u'f87c32d417539f8d2903ac76dc5fef1f'), (u'dev_appserver_login', u'[email protected]:True:185804764220139124118'), (u'session', u'eyJfY3NyZl90b2tlbiI6IjVzcVhEayJ9|1418620181|f01cc7c352763ebe30a0c1d2a34f063112641bbd'), (u'_ga', u'GA1.1.629360734.1406657652'), (u'language_id', u'1'), (u'hl', u'es_ES')])
Некоторые службы проверяют Происхождение запроса и могут фильтровать доступ с помощью Origin или Referer, я бы попытался посмотреть службу регистрации, чтобы узнать, есть ли у них что-то в этом отношении.
Может быть, потому, что вы используете HTTPS в сообщении? – Ryan
Нет, я поменял https на http. Ситуации те же. –
Веб-сайт включает 'gatekeeper.aspx'. Имеет ли это какое-либо отношение к проблеме? –