2013-11-25 3 views
0

Я использую щит SIM900 с ардуино UNO. Я пытаюсь сделать связь с сервером xively. Я следую инструкциям от: http://arduino.cc/en/Tutorial/GSMExamplesXivelyClient?from=Tutorial.GSMExamplesPachubeClient403 Запрещено от xively api SIM900 shield

Этот пример предназначен для другого щита GSM, но он показывает мне, как должен выглядеть коннект с xively. Я сделал такой код:

gsm.SimpleWrite("PUT /v2/feeds/"); 
gsm.SimpleWrite(1055165076); 
gsm.SimpleWriteln(".csv HTTP/1.1"); 
gsm.SimpleWrite("Host: api.xively.com\n"); 
gsm.SimpleWrite("X-ApiKey: "); 
gsm.SimpleWriteln("j2AlGTCLxJzArQhL7dqrLYG6BtJd5aI8LoJmc7ha0mgsPWPD"); 
//gsm.SimpleWrite("User-Agent: "); 
//gsm.SimpleWrite(arduino); 
gsm.SimpleWrite("Content-Length: "); 
gsm.SimpleWriteln(10); 
gsm.SimpleWrite("Content-Type: text/csv\n"); 
gsm.SimpleWriteln("Connection: close"); 
gsm.SimpleWriteln(""); 

gsm.SimpleWrite("sensor1,"); 
gsm.SimpleWriteln(16); 
gsm.SimpleWrite(end_c); 

К этому коду я хотел бы послать SENSOR1 значение: 16.

После выполнения этого xively сервера коды сделать мой какой-то ответ:

HTTP/1.1 403 Forbidden 
Date: Mon, 25 Nov 2013 08:19:27 GMT 
Content-Type: text/plain; charset=utf-8 
Transfer-Encoding: chunkd 
oncin ls 

4 
Yud o aetencesr emsin oacs hsrsuc 

В сети https://xively.com/dev/docs/api/communicating/http/http_status_codes/ я обнаружил, что значение ошибки:

403 Forbidden Xively понимает ваш запрос, но отказывается его выполнить. Сопровождающее сообщение об ошибке должно объяснить, почему. (ПРИМЕЧАНИЕ: в API V2 это ошибка, возвращаемая, когда предел скорости API превышен.)

Если я изменяю, например, API-KEY, сервер дает мне ошибку 404. Я пытаюсь решить эту проблему в течение нескольких дней. Может быть, у кого-то есть идея, что не так?

ответ

0

Попробуйте добавить "Accept: */*"

Я считаю, что ваш Content-Length должно быть 11 (в том числе и символ новой строки).

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