2016-03-20 31 views
0

Ben ComputerCraft içine OAuth 2.0 uygulamaya çalışıyorum ve bunu yapmak için "bağlantı kurulamadı" Ben şu isteği vardır:ComputerCraft POST isteği

http.post("https://accounts.google.com/o/oauth2/device/code", "client_id={my id here}&scope=email") 

ve ben sadece bir Could not connect alıyorum Hata

Bazı sınamalar yaptıktan sonra, bu url ile http.checkUrl() çalışır, bu terminalde curl kullanarak çalışır ve http.get("https://accounts.google.com") da çalışır. Bu çalışmadığı tek nedeni gibi görünüyor bilgisayarcraft POST istekleri düzgün işlemiyor çünkü.

Bu garip olan, http.get("https://accounts.google.com/o.oauth2/device/code")'un da işe yaramaması. Bu gerçekten kafa karıştırıcı. Bu geçerli bir istek olmamasına rağmen, curl kullanırken {"error":"Invalid request"} yanıtıyla başarılı olmalıdır.

Burada yanlış bir şey yapıyorum mu, yoksa bir tür iş var mı?

cevap

0

Yapılandırmanıza bağlı olarak ComputerCraft HTTP API'sini etkinleştirmeniz gerekebilir. Veya accounts.google.com alan adını beyaz listeye eklemeniz gerekebilir. Etkin olduğunda beyaz listeyi tamamen devre dışı bırakabilirsiniz.

Ayarları, config \ ComputerCraft.cfg dosyasında bulabilirsiniz.

HTTP iletileri çalışıyor. HTTPS konusunda% 100 emin değilim. Kurulumu ayıklama için

+0

OP'de belirtildiği gibi, https: // accounts.google.com 'işlevini mükemmel şekilde talep edebilirim. Bu çalışmayan spesifik URL. – tupperkion

+0

@tupperkion belki checkUrl beyaz listeyi veya bir şeyi atlıyor ... CC'nin hata yanıtlarını çok iyi kullanmadığını fark ettim, curl isteğiniz 200 mü? – Joppe

+0

@tupperkion CC Wiki tekrar başladı: checkUrl, beyaz listeyi kontrol ediyor. Ancak, güvenlik duvarı şey bağlamaya çalışmıyor? Başka bir yerde http.get yapabilirsin değil mi? – Joppe

0

hala işe yaramazsa, sizin yapılandırma \ ComputerCraft.cfg içinde listesini değiştirmek

sıralamaya bir os.PullEvent()

Kullanım http_failure

whitelist = * 

Veya ne olursa olsun yapılandırma biçim