가상 MixJuice에서 Kidspod 프로그램 얻기

3478 단어 CORSIchigoJam
이 문서는 IchigoJam Advent Calendar 2020의 7일째입니다.

(2020년 12월 10일 가필 수정)

등장인물


  • IchigoJam web
  • MixJuice
  • Kidspod

  • IchigoJam 웹에서 사용할 수 있는 "가상 MixJuice"에 대한 자세한 내용은 올해의 어드벤트 캘린더 첫날 기사을 참조하십시오.

    문제



    2020년 12월 현재 IchigoJam 웹의 가상 MixJuice에서 다음과 같은 이유로 Kidspod 프로그램을 검색할 수 없습니다.
  • Kidspod 웹 서버가 http 만 지원합니다.
  • https인 IchigoJam web에서 액세스하는 것은 Mixed content가 되어 최근 브라우저는 이러한 액세스를 거부하게 되어 있습니다.

  • Kidspod 웹 서버가 Access-Control-Allow-Origin을 설정하지 않았습니다.
  • 최근 브라우저는 기본적으로 다른 출처의 리소스에 대한 액세스를 거부합니다.
  • 후쿠노 씨도 이 기사이 기사에서 CORS 설정이 필요하다고 언급했습니다.
  • CORS란?


  • 해결책



    CORS Anywhere

    CORS Anywhere is a NodeJS proxy which adds CORS headers to the proxied request.

    이것을 포함한 웹 서버의 데모가 Heroku에서 실행 중 , 이 서버를 경유해 Kidspod 에 액세스 하는 것으로, 상기의 문제를 둘 다 클리어 할 수 있습니다.

    Usage에서 볼 수 있듯이 웹 사이트 URL https://cors-anywhere.herokuapp.com/의 끝에 원래 액세스하려는 URL을 추가하는 것만으로 좋으며, 예를 들어 Kidspod 프로그램 참조 URL이 http://kidspod.club/mj/976이면 액세스해야하는 URL은 https://cors-anywhere.herokuapp.com/http://kidspod.club/mj/976입니다.
    이를 바탕으로 IchigoJam 웹에서 다음과 같이 입력하여 Kidspod 프로그램을 얻을 수 있습니다. (MixJuice를 확인하는 것을 잊지 마십시오)
    ?"MJ GETS cors-anywhere.herokuapp.com/http://kidspod.club/mj/976"
    

    실행 결과는 이런 느낌입니다.

    어디까지나 이 서버는 데모로서 제공되고 있는 것이므로, 조금 시험하는 분에는 문제 없겠지만, 상식의 범위내에서 이용해, 너무 주의에 주의합시다.
    그리고, 제3자의 서버를 경유하는 이상, 액세스한 URL 등이 로그로서 기록되고 있을 가능성도 부정할 수 없기 때문에, 그 근처의 리스크를 인지로부터 시험해 주세요.

    요청



    IchigoJam web 에 CORS Anywhere 를 짜넣어 준다면… 합니다.
    우선 Kidspod 가 곧바로 https 에 대응해, fukuno.jig.jp 로부터의 액세스를 허가하는 설정을 할 것을 기대하고 있습니다.

    추가 정보 (2020년 12월 10일 추가)



    딸기 잼 레시피이 관리 운영하고 있는 MixJuice 단축 URL 서비스에서 Kidspod 프로그램을 취득하기 위한 대응이 들어간 것 같습니다. Kidspod의 작품 ID를 알고 있다면 https://15jm.li/K/(作品 ID)으로 이동하여 프로그램을 얻을 수 있습니다.
    구체적으로 IchigoJam 웹에서 다음을 입력합니다.
    ?"MJ GETS 15jm.li/K/976"
    

    좋은 웹페이지 즐겨찾기