Mac OS X은 파일을 다운로드 한 URL에 대한 세부 정보를 어떻게 저장할 수 있습니까?


답변:


6

Daniel이 언급했듯이 브라우저는 확장 된 속성에 다운로드 한 파일의 소스 URL (및 리퍼러)을 저장할 수 있습니다 com.apple.metadata:kMDItemWhereFroms.

먼저 Apple은 이것을 Mac OS X 10.4 용 Safari에 추가 한 다음 Chrome / Chromium [Issue 22289] 에 추가했으며 Firefox에 추가하라는 뛰어난 개선 요청이 있습니다 [버그 337051] .

이를 구현하는 실제 코드는 Chromium 패치를 확인하십시오 .


Nice history :-) 그러나 Safari를 사용할 때 리퍼러가 표시되지 않습니다 (또는 적어도 새로운 다운로드에서는 보이지 않습니다. 마우스 오른쪽 단추를 클릭하여 다운로드하거나 다운로드가 자동으로 시작될 때 상황이 다를 수 있습니까? (예를 들어, 일부 브라우저는 새 창에서 링크를 열 때 리퍼러를 보내지 않습니다.)
Arjan

아, 맞습니다 mdls. 자동으로 시작되는 다운로드에 대해 표시됩니다. Finder의 Get Info는 쉼표로 구분 된 목록으로 표시합니다.
Arjan

6

파일을 다운로드 한 후 실행 xattr file하면 브라우저가 확장 속성에 저장 한 내용이 표시됩니다.

xattr mydownload.gz
com.apple.metadata : kMDItemWhereFroms
com.apple.quarantine

다음으로 자세한 내용 :

xattr -p com.apple.quarantine mydownload.gz 
0000; 4cee9d4b; 사파리; 24064D6B-9854-46BC-AF73-5DE5F8042D0B | com.apple.Safari

xattr -p com.apple.metadata : kMDItemWhereFroms mydownload.gz 
62 70 6C 69 73 74 30 30 A1 01 5F 10 24 68 74 74
70 3A 2F 2F 73 75 등

... 또는 읽을 수있는 형식으로 :

mdls-이름 kMDItemWhereFroms mydownload.gz
kMDItemWhereFroms = (
    "http : // some-url"
)

그 (또는 원하는 속성)도 직접 설정할 수 있습니다 .

xattr -w 일부 이름 일부 값 mydownload.gz

다음은 비록 너무 작동 위의 명령을 다시 실행 다른 결과를 가지고 있습니다 :

xattr -w com.apple.metadata : kMDItemWhereFroms http://example.com mydownload.gz

그리고에 대한 com.apple.quarantine속성에 따라 이해 :

일반적으로 검역소 데이터는 4 개의 세미콜론으로 구분 된 값 세트 (알 수없는 목적의 십진 자릿수-일반적으로 0000, 8 자 불투명 한 ID , 검역소에 보관 된 파일을 만든 응용 프로그램 이름 및 응용 프로그램의 UTI)로 구성됩니다. 파이프 기호가 접두사로 표시되는 (Uniform Type Identifier)

예를 들어, Mozilla FireFox를 사용하여 다운로드 한 두 개의 다른 파일의 경우 다음과 같습니다.

com.apple.quarantine: 0000;4b392bb2;Firefox;|org.mozilla.firefox
com.apple.quarantine: 0000;4b38d820;Firefox;|org.mozilla.firefox

Automator 's Folder Actions를 사용하면 특정 폴더에서 새 파일에 대해 이러한 명령을 실행할 수 있습니다.


4

이 정보는 "확장 된 속성"에 저장됩니다. John Siracusa는 OS X 10.4에서 http://arstechnica.com/apple/reviews/2005/04/macosx-10-4.ars/7 에서 처음 도입되었을 때 확장 된 속성에 대해 설명하는 훌륭한 기사를 가지고 있습니다.

더 이상 'xattr'명령 행 도구에 대한 매뉴얼 페이지가 없지만 'xattr -h'는 기본 도움말을 표시해야합니다.

POSIX / BSD 레벨 API는 /usr/include/sys/xattr.h에 있으며 getxattr (), setxattr (), removexattr (), listxattr () 및 FILE 기반 사촌과 같은 C 함수를 정의합니다. (이 명령은 'xattr (1)'과 달리 매뉴얼 페이지가 있습니다).


3

파일을 다운로드하는 응용 프로그램에서 설정합니다. 매직 다운로드 감지 기능이 없으며 다운로드 응용 프로그램에서 다운로드 한 파일에 설정된 속성 만 있습니다.

방금 wget, Google Chrome, Firefox 및 Safari를 사용하여 zip 파일을 다운로드 했으며 예상대로 wget다운로드에는 해당 기능을 알고 있으므로 브라우저 속성이 확장 속성이 없습니다. 흥미롭게도 Firefox 다운로드는 격리를 설정했지만 com.apple.metadata:kMDItemWhereFroms다운로드 한 파일이 원래 있던 정보 (URL) 를 설정하는 것을 잊었습니다 . Safari와 Chrome은 둘 다 설정 wget하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.