Как получить длинный URL от короткого URL?

COBOL использует уровни 88 для реализации именованных значений, именованных групп значений и именованных диапазонов значений.

Например:

01 COLOUR         PIC X(10).
   88 IS-PRIMARY-COLOUR VALUE 'Red', 'Blue', 'Yellow'.
...
MOVE 'Blue' TO COLOUR
IF IS-PRIMARY-COLOUR
   DISPLAY 'This is a primary colour'
END-IF

Тесты на дальность охватываются следующим образом:

01 SOME-NUMBER    PIC S9(4) BINARY.
   88 IS-LESS-THAN-ZERO    VALUE -9999 THRU -1.
   88 IS-ZERO              VALUE ZERO.
   88 IS-GREATER-THAN-ZERO VALUE 1 THRU 9999.
...
MOVE +358 TO SOME-NUMBER
EVALUATE TRUE
    WHEN IS-LESS-THAN-ZERO
         DISPLAY 'Negative Number'
    WHEN IS-ZERO
         DISPLAY 'Zero'
    WHEN IS-GREATER-THAN-ZERO
         DISPLAY 'Positive Number'
    WHEN OTHER
         DISPLAY 'How the heck did this happen!'
END-EVALUATE

Я думаю, все это произошло, потому что COBOL должен был подражать английскому в некоторой степени.

7
задан chollida 28 September 2009 в 22:54
поделиться

3 ответа

Я не использую Ruby, но общая идея состоит в том, чтобы отправить HTTP-запрос HEAD на сервер, который, в свою очередь, вернет ответ 301 (перемещен навсегда) с Location ], который содержит URI.

HEAD /5b2su2 HTTP/1.1
Host: tinyurl.com
Accept: */*

ОТВЕТ:

HTTP/1.1 301 Moved Permanently
Location: http://stackoverflow.com
Content-type: text/html
Date: Sat, 23 May 2009 18:58:24 GMT
Server: TinyURL/1.6

Это намного быстрее, чем открытие фактического URL, и вы действительно не хотите получать перенаправленный URL. Он также хорошо работает со службой tinyurl.

Изучите любые HTTP или curl API в ruby. Это должно быть довольно просто.

14
ответ дан 6 December 2019 в 06:37
поделиться

Вы можете использовать httpclient rubygem для получения заголовков

#!/usr/bin/env ruby

require 'rubygems'
require 'httpclient'

client = HTTPClient.new

result = client.head(ARGV[0])
puts result.header['Location']
11
ответ дан 6 December 2019 в 06:37
поделиться

Есть отличная оболочка для битового API в Python, доступного здесь: http://code.google.com/p/python-bitly/

Значит, для Ruby должно быть что-то подобное.

2
ответ дан 6 December 2019 в 06:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: