2016-07-05 2 views
0

Что-то очень странное происходит. На мой макинтош, я могу свернуться в http2 APNS апи Apple, и я получаю уведомление вместе со следующим ответом:Curl to APNS работает на Mac, но не на Windows?

POST /3/device/{MYTOKEN} HTTP/1.1 
Host: api.push.apple.com 
User-Agent: curl/7.49.1 
Accept: */* 
apns-topic: com.domain.myapp 
Content-Length: 40 
Content-Type: application/x-www-form-urlencoded 

Connection state changed (MAX_CONCURRENT_STREAMS updated)! 
We are completely uploaded and fine 
HTTP 1.0, assume close after body 
HTTP/2 200 
apns-id: 9DF86348-7133-8AF2-746D-EC1528769AD8 

Closing connection 0 
TLSv1.2 (OUT), TLS alert, Client hello (1): 

Если бы я сделать то же самое на сервере я хочу для отправки уведомлений из (в Windows Server), Я получаю точно такой же ответ! - но нет уведомления на устройстве?

Любая идея, как это могло быть?

ответ

1

ОК - я решил!

Проблема заключалась в цитировании символов в опубликованных данных. Правильный формат должен быть:

curl -d "{\"aps\":{\"alert\":\"test\",\"sound\":\"default\"}}" 

Я использовал одиночные кавычки снаружи, которые работали на Mac, но не на окнах. Странно, что я получил сообщение ok из apple на машине Windows, но без уведомления.

+0

У вас есть работа над php curl? – Desmond

+0

@Desmond - не совсем. Я закончил вызов команды curl из оболочки с обратными выводами из php-кода! Не идеально, но это решение, пока кто-то не добьется двоичных файлов Windows для php. Я использовал бинарные файлы curl отсюда: http://winampplugins.co.uk/curl/ – markt

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