2015-03-11 6 views
0

Я пытаюсь отправить запрос POST на мой сервер. Сервер достигнут. Я вижу, что ответ сервера, но параметры не отправляются. Запрос нуждается в параметрах в объекте JSON.Python скрипт не отправляет параметры запроса

params = "{'spam': 1, 'eggs': 2, 'bacon': 0}" 

c = httplib.HTTPConnection(host) 
userAndPass = b64encode(b"username:password").decode("ascii") 
headers = {'Authorization' : 'Basic %s' % userAndPass } 

c.request('POST',url, params, headers=headers) 
res = c.getresponse() 
data = res.read() 

print(data) 

Я проверил свою функцию на сервере и параметры там не отправлены.

ответ

1

У вас нет доступа к параметрам в вашей серверной функции правильно.

Чтобы просто посмотреть, что сообщение отправляется на сервер, вы можете просто запустить простой сервер с нанокристаллов команды в терминале:

nc -l -p 1234 

затем выполнения кода и отправки запроса на локальном хосте: 1234 вы можете увидеть что это сообщение отправлено:

POST/HTTP/1.1 
Host: localhost:1234 
Accept-Encoding: identity 
Content-Length: 34 
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ= 

{'spam': 1, 'eggs': 2, 'bacon': 0} 

Так что ваша PARAMS отправляется, но не доступ к ним в правильном пути в вашей функции сервера.

1

Правильные заголовки не были установлены

headers = {'Content-Type':'application/json', 'Authorization' : 'Basic %s' % userAndPass } 

 Смежные вопросы

  • Нет связанных вопросов^_^