루비 (신트라) 앱에서 컬을 사용하여 간편하게 링크 확장기를 만들었습니다.루비/컬 링크 확장 메소드가 전체 대상 URL을 다운로드 중입니다
def curbexpand(link)
result = Curl::Easy.new(link)
begin
result.headers["User-Agent"] = "..."
result.verbose = true
result.follow_location = true
result.max_redirects = 3
result.connect_timeout = 5
result.perform
return result.last_effective_url # Returns the final destination URL after x redirects...
rescue
return link
puts "XXXXXXXXXXXXXXXXXXX Error parsing link XXXXXXXXXXXXXXXXXXXXXXXXXXX"
end
end
내가 가진 문제는 일부 천재 괜찮을 것 .EXE의과에 .dmg 년대에 링크 URL 축약 서비스를 사용하고 있는지이지만, 전체 응답이 반환 될 때까지 기다리고 위 내 컬 스크립트처럼 보인다 (즉, 1GB 파일이 될 수 있습니다!) URL을 반환하기 전에. 확장 할 링크가 상당하므로 제 3 자 링크 확장 API를 사용하고 싶지 않습니다.
누구나 전체 응답을 기다리는 대신 URL을 찾기 위해 연석을 조정할 수 있습니다.
'Curl :: Easy.http_head (link)'가 작동 할 수도 있습니다. – cmason
응원가 cmason - 이것과 Net :: HTTP도 실험 해보고 어떤 것이 더 빠른 지 확인하십시오. –