브라우저가 아닌 링크에서 URL에 URL 인코딩된 슬래시가 실패함

브라우저가 아닌 링크에서 URL에 URL 인코딩된 슬래시가 실패함

웹 사이트doi2bib.org출판물에 대한 DOI 코드를 조회하고 출판물에 대한 데이터를 반환합니다. DOI 코드에는 슬래시가 포함됩니다. 예:

10.1037/dev0000663

해당 출판물에 대한 데이터를 가져오는 방법에는 두 가지가 있습니다.

두 번째 방법에서는 DOI의 슬래시가 %2f. 해당 인코딩이 없는 URL은 작동하지 않습니다. 따라서,https://doi2bib.org/bib/10.1037/dev0000663작동하지 않습니다.

자, 여기에 문제가 있습니다. 작업 URL을 복사하면

 https://doi2bib.org/bib/10.1037%2Fdev0000663

MS Word 또는 Excel로 연결하면 링크가 작동하지 않지만 다음과 같은 오류 메시지가 나타납니다.

여기에 이미지 설명을 입력하세요

해당 오류 메시지에는 URL이 올바르게 표시됩니다. Word에서 URL 위로 마우스를 가져갈 때 나타나는 내용에서 문제에 대한 단서를 찾을 수 있습니다.

여기에 이미지 설명을 입력하세요

%2F여기서 URL은 슬래시로 변경되도록 디코딩되었습니다 . 그것이 Word가 실제로 도달하려고 하는 URL이라면 그것이 실패한 이유를 설명합니다.

올바른 URL이 전송되는지 확인하기 위해 변환을 시도했지만 그렇지 %2F않습니다 . %252F그러면 오류 메시지가 나타납니다.

여기에 이미지 설명을 입력하세요

URL에 마우스를 올리면 Word가 %252F슬래시로 변환된 다음 다시 잘못된 URL로 이동하려고 시도했음을 나타냅니다.

여기에 이미지 설명을 입력하세요

Word 및 Excel 외에 Adobe Acrobat의 "웹 페이지에서 PDF 만들기" 명령에서도 링크가 작동하지 않습니다. 따라서 문제는 MS Office 프로그램에만 국한되지 않습니다.

Word와 다른 프로그램이 올바르게 따르도록 이 URL을 작성하려면 어떻게 해야 합니까?

답변1

해결 방법: DOI2bib 대신 CrossRef의 메타데이터 전달을 사용하십시오(문서:1,2). 서지 데이터는 기본 메소드를 사용하여 사람이 읽을 수 있는 형식으로 반환될 수 있습니다.메타데이터 검색, URL 인코딩 여부에 관계없이 DOI를 취할 수 있습니다.

위의 두 URL은 동일한 결과를 반환하며 둘 다 MS Word에서 작동합니다. 구조화된 데이터는 ReST API(1,2):

또는 다음을 사용하여 텍스트로링크 기반 콘텐츠 협상, 위의 API URL 뒤에 "/transform/application/x-bibtex"를 추가합니다.

또는 무료 계정을 얻고 OpenURL 서비스에서 이메일 주소를 사용하여 XML로(1,2,) 매개변수 설정 "redirect=false" 또는 "noredirect=true":

https://doi.crossref.org/openurl/?pid= < [email protected] > &id=doi:10.1037/dev0000663&redirect=false

MS Word 및 기타 프로그램에서 % 코드를 디코딩하지 않고 URL을 요청하도록 하는 적절한 솔루션이 있는지 알고 싶습니다. 나는 여기서 내 자신의 답변을 받아들이지 않을 것입니다. 따라서 누군가가 게시하면 좋은 답변을 받아들일 수 있을 것입니다.

관련 정보