Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    script per invio dati json

    Ciao, grazie per l'attenzione e per l'aiuto!
    Ho bisogno di poter inviare un oggetto json a un piccolo server, per cambiare la scena a OBS, per farlo utilizzo una pagina statica html (no php ecc.), mi hanno consigliato questo ma non funziona:

    codice HTML:
    <body>
    <div id="e0" class="cc08">
    <a href="#" onclick="setCurrentScene('Scene2')">
    <img src="logo.jpg" border="0" alt="Logo" title="Logo">
    </a>
    </div>
    
    <script>
    function setCurrentScene(scenename) {
    var url = 'http://192.168.24.2:81/emit/SetCurrentScene';
    var xhr = new XMLHttpRequest();
    xhr.open('POST', url);
    xhr.setRequestHeader("Content-Type", "application/json");
    xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
    console.log(xhr.status);
    console.log(xhr.responseText);
    }
    };
    var data = '{"scene-name":"'+scenename+'"}';
    xhr.send(data);
    }
    </script>
    Con wireshark vedo che il browser manda il push ma senza l'oggetto:
    E +q@À¨À¨¦FQ&´ô×P²çOPTIONS /emit/SetCurrentScene HTTP/1.1
    Host: 192.168.24.2:81
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
    Accept: /
    Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Access-Control-Request-Method: POST
    Access-Control-Request-Headers: content-type
    Origin: null
    Connection: keep-alive

    Il server risponde:
    Eâ+v@À¨À¨Q¦F´ô×P²)HTTP/1.1 405 Method Not Allowed
    Content-Type: text/plain; charset=utf-8
    Allow: POST
    Content-Length: 23
    Date: Sat, 01 May 2021 09:47:09 GMT
    Server: Python/3.8 aiohttp/3.7.4.post0

    Cosa c'è che non va? Grazie mille

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,050
    direi che è più una questione JS, sposto di sezione

  3. #3
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,311
    Userei prima JSON.stringify x la tua stringa. Poi la console del tuo browser nn visualizza nulla? Dovrebbe catturare un POST nn un OPTIONS wireshark. Ma quale sarebbe il vero problema?
    Ultima modifica di linoma; 04-05-2021 a 18:04
    Per gli Spartani e Sparta usa spartan

  4. #4
    Grazie mille per la cortese risposta e interesse!
    Credimi se ti dico che di HTML capisco poco, non ho idea di come si faccia a mandare questo oggetto nel server, puoi darmi una mano? Grazie infinite!
    Magari esiste tutto un altro sistema per poterlo inviare, potresti aiutarmi scrivendo un piccolo script? Se può essere d'aiuto qui c'è scritto cosa il server si aspetta di ricevere:
    https://github.com/IRLToolkit/obs-websocket-http

  5. #5
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,311
    Correggi il tuo...per spiegazioni e approfondimento rivolgersi alle strutture pubbliche adatte ��
    Per gli Spartani e Sparta usa spartan

  6. #6
    se sapessi correggerlo da solo non chiederei aiuto qui..
    (spero che sia la struttura pubblica adatta)
    Grazie a chi voglia aiutarmi!

  7. #7
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,373
    Quote Originariamente inviata da Barabba1111 Visualizza il messaggio
    se sapessi correggerlo da solo non chiederei aiuto qui..
    (spero che sia la struttura pubblica adatta)
    Grazie a chi voglia aiutarmi!
    lato client sembra tutto ok. il problema sembra lato server.

    stai facendo una chiamata ajax tra due server differenti e questo non è di norma consentito. è quindi necessario modificare il server affinché accetti la chiamata.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  8. #8
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    lato client sembra tutto ok. il problema sembra lato server.

    stai facendo una chiamata ajax tra due server differenti e questo non è di norma consentito. è quindi necessario modificare il server affinché accetti la chiamata.
    Grazie di cuore per l'aiuto! Ho chiesto all'autore, non so se mi risponderà ( non esiste nessun altro modo per non creare questo problema? Intendo l'invio di info dal client stesso, magari esiste un alto metodo?
    Immagino che di norma il client invii il comando al primo sever, che inoltra al secondo.. il programma small http server che uso support il cgi, che sia possibile usare in qualche modo quello?
    Grazie mille

  9. #9
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,373
    guarda considerando che sei poco pratico del settore è molto difficile aiutarti. devi sperare che ci sia qualcuno che abbiamo voglio di investire un paio di ore nell'argomento.

    in merito ai cgi credo andassero di moda negli anni 80. in ogni caso non sarebbe qui il posto per parlarne.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  10. #10
    Che brutta notizia che mi dai! E io che pensavo fosse semplice inviare un oggetto ad un server! Insomma almeno così l'autore dice...
    simply use a:
    curl -XPOST -H "Content-type: application/json" -d '{"scene-name":"Scene 2"}' 'http://127.0.0.1:4445/emit/SetCurrentScene'

    Ora per inviare un oggetto devo installare PHP, IIS e tutte queste cose?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.