Я пытаюсь создать скрипт запроса POST в Python, который автоматически отправит данные в базу данных. Поскольку мое веб-приложение (сделанное в Django) все еще выполняется (на localhost), я попытался отправить этот запрос POST с другого компьютера в той же сети через порт IPv4:.Ошибка HTTP 500: ошибка внутреннего сервера
Хотя делать это я получаю ошибку HTTP 500: Внутренняя ошибка сервера с TRACEBACK в строке «ответ = urllib2.urlopen (REQ)» Мой сценарий выглядит следующим образом:
import urllib, urllib2, cookielib
import re
cookie_jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
urllib2.install_opener(opener)
url_1 = 'http://192.168.1.104:8000/legacy'
req = urllib2.Request(url_1)
rsp = urllib2.urlopen(req)
url_2 = 'http://192.168.1.104:8000/legacy'
params = {
'temperature_max' : '186',
'temperature_min' : '88',
'submit': 'Submit',
}
data = urllib.urlencode(params)
req = urllib2.Request(url_2, data)
response = urllib2.urlopen(req)
the_page = response.read()
pat = re.compile('Title:.*')
print pat.search(the_page).group()
На другом компьютере, что хозяйничает сервер я получаю следующее сообщение об ошибке:
Exception happened during processing of request from ('192.168.1.65', 56996)
Traceback (most recent call last):
File "c:\python27\Lib\SocketServer.py", line 599, in process_request_thread
self.finish_request(request, client_address)
File "c:\python27\Lib\SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\Alex\Envs\rango\lib\site-packages\django\core\servers\basehttp.
py", line 129, in __init__
super(WSGIRequestHandler, self).__init__(*args, **kwargs)
File "c:\python27\Lib\SocketServer.py", line 657, in __init__
self.finish()
File "c:\python27\Lib\SocketServer.py", line 716, in finish
self.wfile.close()
File "c:\python27\Lib\socket.py", line 283, in close
self.flush()
File "c:\python27\Lib\socket.py", line 307, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10054] An existing connection was forcibly closed by the remote host
EDIT: Я хотел бы, чтобы вы знали, что я могу отправить данные с другого компьютера в моей базе данных, если я связываю мое приложение с моим браузером.
Откуда появился токен CSRF? Вы уверены, что это действительно так? – jsfan
Поскольку это мое веб-приложение, я перешел на страницу, где я хочу вставить данные, щелкнув «просмотр источника», и он был там по форме. – narn
Этот токен, вероятно, связан с сеансом. Однако вы не копируете файл cookie сеанса, через который он будет недействительным. – jsfan